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