Author: Yasir Suhail <[email protected]>
Branch: 
Changeset: r46780:e8e96fd0c623
Date: 2011-08-24 11:23 -0400
http://bitbucket.org/pypy/pypy/changeset/e8e96fd0c623/

Log:    added sort (non-jit) for numpy array, with test

diff --git a/pypy/module/micronumpy/interp_numarray.py 
b/pypy/module/micronumpy/interp_numarray.py
--- a/pypy/module/micronumpy/interp_numarray.py
+++ b/pypy/module/micronumpy/interp_numarray.py
@@ -177,15 +177,10 @@
     descr_argmin = _reduce_argmax_argmin_impl(minimum)
 
     def descr_sort(self, space):
-        sort_driver = jit.JitDriver(greens=['signature'],
-                         reds = ['first', 'last', 'stack', 'splitpoint', 
'size', 'self'])
         size = self.find_size()
        stack = [(0,size-1)]
        first=0; last=size-1; splitpoint=first;
         while (len(stack) > 0):
-            sort_driver.jit_merge_point(signature=self.signature, first=first,
-                                          last=last, stack=stack, 
splitpoint=splitpoint,
-                                          size=size, self=self)
             first, last = stack.pop()
             while last>first:
                 #splitpoint = split(first,last)
diff --git a/pypy/module/micronumpy/test/test_numarray.py 
b/pypy/module/micronumpy/test/test_numarray.py
--- a/pypy/module/micronumpy/test/test_numarray.py
+++ b/pypy/module/micronumpy/test/test_numarray.py
@@ -427,6 +427,24 @@
         b = array([])
         raises(ValueError, "b.argmin()")
 
+    def test_sort(self):
+        from numpy import array
+        a = [3.0,4.0,0.0,-1.0]
+        b = array(a)
+        a.sort()
+       b.sort()
+        assert(len(a)==len(b))
+        for i in range(len(a)):
+            assert(a[i]==b[i])
+       a = array(list(reversed(range(6))))
+       b = array(range(6))
+       a.sort()
+        assert(len(a)==len(b))
+        for i in range(len(a)):
+            assert(a[i]==b[i])
+
+
+
     def test_all(self):
         from numpy import array
         a = array(range(5))
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to