Author: Brian Kearns <[email protected]>
Branch:
Changeset: r73861:191af129e380
Date: 2014-10-09 02:22 -0400
http://bitbucket.org/pypy/pypy/changeset/191af129e380/
Log: clean up searchsorted
diff --git a/pypy/module/micronumpy/selection.py
b/pypy/module/micronumpy/selection.py
--- a/pypy/module/micronumpy/selection.py
+++ b/pypy/module/micronumpy/selection.py
@@ -357,26 +357,27 @@
app_searchsort = applevel(r"""
- def searchsort(arr, v, side, result):
- import operator
- def func(a, op, val):
- imin = 0
- imax = a.size
- while imin < imax:
- imid = imin + ((imax - imin) >> 1)
- if op(a[imid], val):
- imin = imid +1
- else:
- imax = imid
- return imin
+ import operator
+
+ def _searchsort(a, op, val):
+ imin = 0
+ imax = a.size
+ while imin < imax:
+ imid = imin + ((imax - imin) >> 1)
+ if op(a[imid], val):
+ imin = imid + 1
+ else:
+ imax = imid
+ return imin
+
+ def searchsort(a, v, side, result):
if side == 0:
op = operator.lt
else:
op = operator.le
if v.size < 2:
- result[...] = func(arr, op, v)
+ result[...] = _searchsort(a, op, v)
else:
for i in range(v.size):
- result[i] = func(arr, op, v[i])
- return result
+ result[i] = _searchsort(a, op, v[i])
""", filename=__file__).interphook('searchsort')
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit