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

Reply via email to