diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2010-05-24 15:47:27 +0000 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2010-05-24 15:47:27 +0000 |
commit | 9114faeada1f31ec1b010e398d773de44702b70b (patch) | |
tree | 4bea57f3b239592b441bae91ef04f071d6adf8df | |
parent | a7a01f351130afa9aee9bd6cf38934dc4c37cbb8 (diff) | |
download | numpy-9114faeada1f31ec1b010e398d773de44702b70b.tar.gz |
ENH: Make searchsorted faster by actually dividing the interval in the
middle.
-rw-r--r-- | numpy/core/src/multiarray/item_selection.c | 4 |
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; } |