diff options
-rw-r--r-- | test/monniaux/binary_search/binary_search.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/test/monniaux/binary_search/binary_search.c b/test/monniaux/binary_search/binary_search.c index 281c94c0..c7462f8e 100644 --- a/test/monniaux/binary_search/binary_search.c +++ b/test/monniaux/binary_search/binary_search.c @@ -40,8 +40,8 @@ int my_bsearch2 (data *a, index n, data x) { int my_bsearch3 (data *a, index n, data x) { index i = 0, j = n - 1, k; + k = (i + j) / 2; while (i <= j) { - k = (i + j) / 2; index kp1 = k+1, km1 = k-1; _Bool lt = a[k] < x, gt = a[k] > x; i = TERNARY32(lt, kp1, i); @@ -49,6 +49,7 @@ int my_bsearch3 (data *a, index n, data x) { if (a[k] == x) { goto end; } + k = (i + j) / 2; } k=-1; end: |