Skip to content

Commit 066e3db

Browse files
benjefferyjeromekelleher
authored andcommitted
Process all nodes in while loop of descendant_span
1 parent 0b23799 commit 066e3db

File tree

2 files changed

+2
-12
lines changed

2 files changed

+2
-12
lines changed

docs/numba.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -303,12 +303,9 @@ def descendant_span(numba_ts, u):
303303
total_descending = np.zeros(numba_ts.num_nodes)
304304
stack = [(u, 0.0, numba_ts.sequence_length)]
305305
306-
# TODO is it right that u is considered to inherit from itself
307-
# across the whole sequence?
308-
total_descending[u] = numba_ts.sequence_length
309-
310306
while len(stack) > 0:
311307
node, left, right = stack.pop()
308+
total_descending[node] += right - left
312309
313310
# Find all child edges for this node
314311
for e in range(child_index[node, 0], child_index[node, 1]):
@@ -320,8 +317,6 @@ def descendant_span(numba_ts, u):
320317
inter_left = max(e_left, left)
321318
inter_right = min(e_right, right)
322319
e_child = edges_child[e]
323-
324-
total_descending[e_child] += inter_right - inter_left
325320
stack.append((e_child, inter_left, inter_right))
326321
327322
return total_descending

python/tests/test_jit.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -527,12 +527,9 @@ def descendant_span(numba_ts, u):
527527
total_descending = np.zeros(numba_ts.num_nodes)
528528
stack = [(u, 0.0, numba_ts.sequence_length)]
529529

530-
# TODO is it right that u is considered to inherit from itself
531-
# across the whole sequence?
532-
total_descending[u] = numba_ts.sequence_length
533-
534530
while len(stack) > 0:
535531
node, left, right = stack.pop()
532+
total_descending[node] += right - left
536533

537534
# Find all child edges for this node
538535
for e in range(child_index[node, 0], child_index[node, 1]):
@@ -544,8 +541,6 @@ def descendant_span(numba_ts, u):
544541
inter_left = max(e_left, left)
545542
inter_right = min(e_right, right)
546543
e_child = edges_child[e]
547-
548-
total_descending[e_child] += inter_right - inter_left
549544
stack.append((e_child, inter_left, inter_right))
550545

551546
return total_descending

0 commit comments

Comments
 (0)