diff options
author | data-man <datamanrb@gmail.com> | 2018-05-23 12:58:26 +0300 |
---|---|---|
committer | data-man <datamanrb@gmail.com> | 2018-05-23 12:58:26 +0300 |
commit | 17b8bb8b47ef77877c5dac17abaf9998a12eea67 (patch) | |
tree | 40fafecad4afed74608fe2f3b0c2c69f63eea8f7 /lib | |
parent | a093605ab06ef851bf177fc444711db8435d7c8f (diff) | |
download | Nim-17b8bb8b47ef77877c5dac17abaf9998a12eea67.tar.gz |
Fixes binarySearch's bug
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/algorithm.nim | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/pure/algorithm.nim b/lib/pure/algorithm.nim index 35315947d..98330b680 100644 --- a/lib/pure/algorithm.nim +++ b/lib/pure/algorithm.nim @@ -94,7 +94,7 @@ proc binarySearch*[T, K](a: openArray[T], key: K, if cmpRes < 1: result = i step = step shr 1 - if cmpRes != 0: result = -1 + if cmp(a[result], key) != 0: result = -1 else: var b = len var cmpRes: int @@ -108,7 +108,7 @@ proc binarySearch*[T, K](a: openArray[T], key: K, result = mid + 1 else: b = mid - if result >= len or cmpRes != 0: result = -1 + if result >= len or cmp(a[result], key) != 0: result = -1 proc binarySearch*[T](a: openArray[T], key: T): int = ## binary search for `key` in `a`. Returns -1 if not found. |