Author: Brian Kearns <[email protected]>
Branch: numpy-refactor
Changeset: r69484:daf0f2019fee
Date: 2014-02-26 19:04 -0500
http://bitbucket.org/pypy/pypy/changeset/daf0f2019fee/

Log:    move issequence_w to support, cleanup other support usage

diff --git a/pypy/module/micronumpy/base.py b/pypy/module/micronumpy/base.py
--- a/pypy/module/micronumpy/base.py
+++ b/pypy/module/micronumpy/base.py
@@ -4,11 +4,6 @@
 from pypy.module.micronumpy.support import calc_strides
 
 
-def issequence_w(space, w_obj):
-    return (space.isinstance_w(w_obj, space.w_tuple) or
-            space.isinstance_w(w_obj, space.w_list) or
-            isinstance(w_obj, W_NDimArray))
-
 def wrap_impl(space, w_cls, w_instance, impl):
     if w_cls is None or space.is_w(w_cls, space.gettypefor(W_NDimArray)):
         w_ret = W_NDimArray(impl)
diff --git a/pypy/module/micronumpy/interp_arrayops.py 
b/pypy/module/micronumpy/interp_arrayops.py
--- a/pypy/module/micronumpy/interp_arrayops.py
+++ b/pypy/module/micronumpy/interp_arrayops.py
@@ -6,6 +6,7 @@
 from pypy.interpreter.error import OperationError, oefmt
 from pypy.interpreter.gateway import unwrap_spec
 from pypy.module.micronumpy.conversion_utils import clipmode_converter
+from pypy.module.micronumpy import support
 from pypy.module.micronumpy import constants as NPY
 
 def where(space, w_arr, w_x=None, w_y=None):
@@ -209,8 +210,6 @@
     return out
 
 def put(space, w_arr, w_indices, w_values, w_mode):
-    from pypy.module.micronumpy.support import index_w
-
     arr = convert_to_array(space, w_arr)
     mode = clipmode_converter(space, w_mode)
 
@@ -235,7 +234,7 @@
 
     v_idx = 0
     for idx in indices:
-        index = index_w(space, idx)
+        index = support.index_w(space, idx)
 
         if index < 0 or index >= arr.get_size():
             if mode == NPY.RAISE:
diff --git a/pypy/module/micronumpy/interp_dtype.py 
b/pypy/module/micronumpy/interp_dtype.py
--- a/pypy/module/micronumpy/interp_dtype.py
+++ b/pypy/module/micronumpy/interp_dtype.py
@@ -10,6 +10,7 @@
 from rpython.rlib import jit
 from pypy.module.micronumpy.appbridge import get_appbridge_cache
 from pypy.module.micronumpy.conversion_utils import byteorder_converter
+from pypy.module.micronumpy import support
 from pypy.module.micronumpy import constants as NPY
 
 
@@ -372,7 +373,7 @@
                             "incorrect subarray in __setstate__")
             subdtype, w_shape = space.fixedview(w_subarray)
             assert isinstance(subdtype, W_Dtype)
-            if not base.issequence_w(space, w_shape):
+            if not support.issequence_w(space, w_shape):
                 self.shape = [space.int_w(w_shape)]
             else:
                 self.shape = [space.int_w(w_s) for w_s in 
space.fixedview(w_shape)]
@@ -432,7 +433,7 @@
             w_shape = space.newtuple([])
             if space.len_w(w_elem) == 3:
                 w_fldname, w_flddesc, w_shape = space.fixedview(w_elem)
-                if not base.issequence_w(space, w_shape):
+                if not support.issequence_w(space, w_shape):
                     w_shape = space.newtuple([w_shape])
             else:
                 w_fldname, w_flddesc = space.fixedview(w_elem, 2)
diff --git a/pypy/module/micronumpy/iter.py b/pypy/module/micronumpy/iter.py
--- a/pypy/module/micronumpy/iter.py
+++ b/pypy/module/micronumpy/iter.py
@@ -45,7 +45,7 @@
 from pypy.module.micronumpy.strides import enumerate_chunks,\
      calculate_slice_strides
 from pypy.module.micronumpy.base import W_NDimArray
-from pypy.module.micronumpy.support import product
+from pypy.module.micronumpy import support
 from rpython.rlib import jit
 
 # structures to describe slicing
@@ -245,7 +245,7 @@
         self.shape = shape
         self.offset = start
         self.shapelen = len(shape)
-        self._done = self.shapelen == 0 or product(shape) == 0
+        self._done = self.shapelen == 0 or support.product(shape) == 0
         self.strides = strides
         self.backstrides = backstrides
         self.size = array.size
diff --git a/pypy/module/micronumpy/loop.py b/pypy/module/micronumpy/loop.py
--- a/pypy/module/micronumpy/loop.py
+++ b/pypy/module/micronumpy/loop.py
@@ -10,7 +10,7 @@
 from rpython.rtyper.lltypesystem import lltype, rffi
 from pypy.module.micronumpy.base import W_NDimArray
 from pypy.module.micronumpy.iter import PureShapeIterator
-from pypy.module.micronumpy.support import index_w
+from pypy.module.micronumpy import support
 from pypy.module.micronumpy import constants as NPY
 
 call2_driver = jit.JitDriver(name='numpy_call2',
@@ -557,7 +557,7 @@
     while not arr_iter.done():
         choose_driver.jit_merge_point(shapelen=shapelen, dtype=dtype,
                                       mode=mode)
-        index = index_w(space, arr_iter.getitem())
+        index = support.index_w(space, arr_iter.getitem())
         if index < 0 or index >= len(iterators):
             if mode == NPY.RAISE:
                 raise OperationError(space.w_ValueError, space.wrap(
diff --git a/pypy/module/micronumpy/strides.py 
b/pypy/module/micronumpy/strides.py
--- a/pypy/module/micronumpy/strides.py
+++ b/pypy/module/micronumpy/strides.py
@@ -1,6 +1,7 @@
 from rpython.rlib import jit
 from pypy.interpreter.error import OperationError
-from pypy.module.micronumpy.base import W_NDimArray, issequence_w
+from pypy.module.micronumpy.base import W_NDimArray
+from pypy.module.micronumpy import support
 from pypy.module.micronumpy import constants as NPY
 
 @jit.look_inside_iff(lambda chunks: jit.isconstant(len(chunks)))
@@ -75,7 +76,7 @@
 
 def find_shape_and_elems(space, w_iterable, dtype):
     isstr = space.isinstance_w(w_iterable, space.w_str)
-    if not issequence_w(space, w_iterable) or isstr:
+    if not support.issequence_w(space, w_iterable) or isstr:
         if dtype is None or dtype.char != NPY.CHARLTR:
             return [], [w_iterable]
     is_rec_type = dtype is not None and dtype.is_record()
diff --git a/pypy/module/micronumpy/support.py 
b/pypy/module/micronumpy/support.py
--- a/pypy/module/micronumpy/support.py
+++ b/pypy/module/micronumpy/support.py
@@ -1,6 +1,12 @@
 from rpython.rlib import jit
 from pypy.interpreter.error import OperationError
 
+def issequence_w(space, w_obj):
+    from pypy.module.micronumpy.base import W_NDimArray
+    return (space.isinstance_w(w_obj, space.w_tuple) or
+            space.isinstance_w(w_obj, space.w_list) or
+            isinstance(w_obj, W_NDimArray))
+
 def index_w(space, w_obj):
     try:
         return space.int_w(space.index(w_obj))
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to