summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2010-05-24 15:47:27 +0000
committerCharles Harris <charlesr.harris@gmail.com>2010-05-24 15:47:27 +0000
commit9114faeada1f31ec1b010e398d773de44702b70b (patch)
tree4bea57f3b239592b441bae91ef04f071d6adf8df
parenta7a01f351130afa9aee9bd6cf38934dc4c37cbb8 (diff)
downloadnumpy-9114faeada1f31ec1b010e398d773de44702b70b.tar.gz
ENH: Make searchsorted faster by actually dividing the interval in the
middle.
-rw-r--r--numpy/core/src/multiarray/item_selection.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/numpy/core/src/multiarray/item_selection.c b/numpy/core/src/multiarray/item_selection.c
index 29ffabe43..49023d032 100644
--- a/numpy/core/src/multiarray/item_selection.c
+++ b/numpy/core/src/multiarray/item_selection.c
@@ -1387,7 +1387,7 @@ local_search_left(PyArrayObject *arr, PyArrayObject *key, PyArrayObject *ret)
intp imin = 0;
intp imax = nelts;
while (imin < imax) {
- intp imid = imin + ((imax - imin) >> 2);
+ intp imid = imin + ((imax - imin) >> 1);
if (compare(parr + elsize*imid, pkey, key) < 0) {
imin = imid + 1;
}
@@ -1430,7 +1430,7 @@ local_search_right(PyArrayObject *arr, PyArrayObject *key, PyArrayObject *ret)
intp imin = 0;
intp imax = nelts;
while (imin < imax) {
- intp imid = imin + ((imax - imin) >> 2);
+ intp imid = imin + ((imax - imin) >> 1);
if (compare(parr + elsize*imid, pkey, key) <= 0) {
imin = imid + 1;
}