Fixes binarySearch's bug

This commit is contained in:
data-man
2018-05-23 12:58:26 +03:00
parent a093605ab0
commit 17b8bb8b47

View File

@@ -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.