Commit d81528a
Fix exponential_search recursing forever when the item is below the first element (#15384)
binary_search_by_recursion used right=-1 as its 'not given' sentinel, but the
recursion legitimately reaches right=-1 when the item is smaller than every
element, which reset right to len-1 and never terminated. Use None as the
sentinel and add doctests for items below and above the range.
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Christian Clauss <cclauss@me.com>1 parent de56f29 commit d81528a
1 file changed
Lines changed: 14 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
21 | 24 | | |
22 | 25 | | |
23 | 26 | | |
| |||
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
30 | | - | |
| 33 | + | |
31 | 34 | | |
32 | 35 | | |
33 | 36 | | |
| |||
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
42 | 49 | | |
43 | | - | |
| 50 | + | |
44 | 51 | | |
45 | 52 | | |
46 | 53 | | |
| |||
81 | 88 | | |
82 | 89 | | |
83 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
84 | 95 | | |
85 | 96 | | |
86 | 97 | | |
| |||
0 commit comments