From 9114faeada1f31ec1b010e398d773de44702b70b Mon Sep 17 00:00:00 2001 From: Charles Harris Date: Mon, 24 May 2010 15:47:27 +0000 Subject: ENH: Make searchsorted faster by actually dividing the interval in the middle. --- numpy/core/src/multiarray/item_selection.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'numpy') 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; } -- cgit v1.2.1