summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authordata-man <datamanrb@gmail.com>2018-05-23 12:58:26 +0300
committerdata-man <datamanrb@gmail.com>2018-05-23 12:58:26 +0300
commit17b8bb8b47ef77877c5dac17abaf9998a12eea67 (patch)
tree40fafecad4afed74608fe2f3b0c2c69f63eea8f7 /lib
parenta093605ab06ef851bf177fc444711db8435d7c8f (diff)
downloadNim-17b8bb8b47ef77877c5dac17abaf9998a12eea67.tar.gz
Fixes binarySearch's bug
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/algorithm.nim4
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.