[pypy-commit] pypy nditer-buffered: more strides -> strideops module substitution
mattip
noreply at buildbot.pypy.org
Tue Jul 21 23:12:21 CEST 2015
Author: mattip <matti.picus at gmail.com>
Branch: nditer-buffered
Changeset: r78633:3673d97c6f8c
Date: 2015-07-20 16:16 -0400
http://bitbucket.org/pypy/pypy/changeset/3673d97c6f8c/
Log: more strides -> strideops module substitution
diff --git a/pypy/module/micronumpy/arrayops.py b/pypy/module/micronumpy/arrayops.py
--- a/pypy/module/micronumpy/arrayops.py
+++ b/pypy/module/micronumpy/arrayops.py
@@ -4,7 +4,7 @@
from pypy.module.micronumpy import constants as NPY
from pypy.module.micronumpy.base import convert_to_array, W_NDimArray
from pypy.module.micronumpy.converters import clipmode_converter
-from pypy.module.micronumpy.strides import (
+from pypy.module.micronumpy.strideops import (
Chunk, Chunks, shape_agreement, shape_agreement_multiple)
from .casting import find_binop_result_dtype, find_result_type
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
@@ -38,7 +38,7 @@
@staticmethod
def from_shape(space, shape, dtype, order='C', w_instance=None, zero=True):
from pypy.module.micronumpy import concrete, descriptor, boxes
- from pypy.module.micronumpy.strides import calc_strides
+ from pypy.module.micronumpy.strideops import calc_strides
strides, backstrides = calc_strides(shape, dtype.base, order)
impl = concrete.ConcreteArray(shape, dtype.base, order, strides,
backstrides, zero=zero)
@@ -53,7 +53,7 @@
order='C', owning=False, w_subtype=None,
w_base=None, writable=True, strides=None, start=0):
from pypy.module.micronumpy import concrete
- from pypy.module.micronumpy.strides import (calc_strides,
+ from pypy.module.micronumpy.strideops import (calc_strides,
calc_backstrides)
isize = dtype.elsize
if storage_bytes > 0 :
diff --git a/pypy/module/micronumpy/concrete.py b/pypy/module/micronumpy/concrete.py
--- a/pypy/module/micronumpy/concrete.py
+++ b/pypy/module/micronumpy/concrete.py
@@ -9,7 +9,7 @@
from pypy.module.micronumpy.base import convert_to_array, W_NDimArray, \
ArrayArgumentException, W_NumpyObject
from pypy.module.micronumpy.iterators import ArrayIter
-from pypy.module.micronumpy.strides import (Chunk, Chunks, NewAxisChunk,
+from pypy.module.micronumpy.strideops import (Chunk, Chunks, NewAxisChunk,
RecordChunk, calc_strides, calc_new_strides, shape_agreement,
calculate_broadcast_strides, calc_backstrides, calc_start, is_c_contiguous,
is_f_contiguous)
diff --git a/pypy/module/micronumpy/ctors.py b/pypy/module/micronumpy/ctors.py
--- a/pypy/module/micronumpy/ctors.py
+++ b/pypy/module/micronumpy/ctors.py
@@ -82,7 +82,7 @@
return w_res
def _array(space, w_object, w_dtype=None, copy=True, w_order=None, subok=False):
- from pypy.module.micronumpy import strides
+ from pypy.module.micronumpy import strideops
# for anything that isn't already an array, try __array__ method first
if not isinstance(w_object, W_NDimArray):
@@ -141,7 +141,7 @@
w_base=w_base, start=imp.start)
else:
# not an array
- shape, elems_w = strides.find_shape_and_elems(space, w_object, dtype)
+ shape, elems_w = strideops.find_shape_and_elems(space, w_object, dtype)
if dtype is None and space.isinstance_w(w_object, space.w_buffer):
dtype = descriptor.get_dtype_cache(space).w_uint8dtype
if dtype is None or (dtype.is_str_or_unicode() and dtype.elsize < 1):
@@ -163,7 +163,7 @@
def numpify(space, w_object):
"""Convert the object to a W_NumpyObject"""
# XXX: code duplication with _array()
- from pypy.module.micronumpy import strides
+ from pypy.module.micronumpy import strideops
if isinstance(w_object, W_NumpyObject):
return w_object
# for anything that isn't already an array, try __array__ method first
@@ -171,7 +171,7 @@
if w_array is not None:
return w_array
- shape, elems_w = strides.find_shape_and_elems(space, w_object, None)
+ shape, elems_w = strideops.find_shape_and_elems(space, w_object, None)
dtype = find_dtype_for_seq(space, elems_w, None)
if dtype is None:
dtype = descriptor.get_dtype_cache(space).w_float64dtype
diff --git a/pypy/module/micronumpy/flagsobj.py b/pypy/module/micronumpy/flagsobj.py
--- a/pypy/module/micronumpy/flagsobj.py
+++ b/pypy/module/micronumpy/flagsobj.py
@@ -6,7 +6,7 @@
from pypy.interpreter.gateway import interp2app
from pypy.interpreter.typedef import TypeDef, GetSetProperty
from pypy.module.micronumpy import constants as NPY
-from pypy.module.micronumpy.strides import is_c_contiguous, is_f_contiguous
+from pypy.module.micronumpy.strideops import is_c_contiguous, is_f_contiguous
def enable_flags(arr, flags):
arr.flags |= flags
diff --git a/pypy/module/micronumpy/ndarray.py b/pypy/module/micronumpy/ndarray.py
--- a/pypy/module/micronumpy/ndarray.py
+++ b/pypy/module/micronumpy/ndarray.py
@@ -18,8 +18,9 @@
from pypy.module.micronumpy.converters import multi_axis_converter, \
order_converter, shape_converter, searchside_converter
from pypy.module.micronumpy.flagsobj import W_FlagsObject
-from pypy.module.micronumpy.strideops import get_shape_from_iterable, \
- shape_agreement, shape_agreement_multiple, is_c_contiguous, is_f_contiguous
+from pypy.module.micronumpy.strideops import (get_shape_from_iterable,
+ shape_agreement, shape_agreement_multiple, is_c_contiguous,
+ is_f_contiguous, calc_strides)
from pypy.module.micronumpy.casting import can_cast_array
@@ -1298,7 +1299,6 @@
def descr_new_array(space, w_subtype, w_shape, w_dtype=None, w_buffer=None,
offset=0, w_strides=None, w_order=None):
from pypy.module.micronumpy.concrete import ConcreteArray
- from pypy.module.micronumpy.strides import calc_strides
dtype = space.interp_w(descriptor.W_Dtype, space.call_function(
space.gettypefor(descriptor.W_Dtype), w_dtype))
shape = shape_converter(space, w_shape, dtype)
diff --git a/pypy/module/micronumpy/nditer.py b/pypy/module/micronumpy/nditer.py
--- a/pypy/module/micronumpy/nditer.py
+++ b/pypy/module/micronumpy/nditer.py
@@ -212,7 +212,7 @@
def get_iter(space, order, arr, shape, dtype, op_flags, base):
imp = arr.implementation
backward = is_backward(imp, order)
- if len(shape) == 1:
+ if len(shape) == 1 and len(imp.shape) > 0:
min_dim = 0
min_stride = 0xefffffff
for i in range(len(imp.shape)):
@@ -316,6 +316,7 @@
shape = [s+1 for s in old_iter.shape_m1]
strides = old_iter.strides
backstrides = old_iter.backstrides
+ print shape, strides, backstrides
if order == 'F':
new_shape = shape[1:]
new_strides = strides[1:]
diff --git a/pypy/module/micronumpy/types.py b/pypy/module/micronumpy/types.py
--- a/pypy/module/micronumpy/types.py
+++ b/pypy/module/micronumpy/types.py
@@ -22,7 +22,7 @@
from rpython.tool.sourcetools import func_with_new_name
from pypy.module.micronumpy import boxes, support
from pypy.module.micronumpy.concrete import SliceArray, VoidBoxStorage, V_OBJECTSTORE
-from pypy.module.micronumpy.strides import calc_strides
+from pypy.module.micronumpy.strideops import calc_strides
from . import constants as NPY
degToRad = math.pi / 180.0
diff --git a/pypy/module/micronumpy/ufuncs.py b/pypy/module/micronumpy/ufuncs.py
--- a/pypy/module/micronumpy/ufuncs.py
+++ b/pypy/module/micronumpy/ufuncs.py
@@ -17,7 +17,7 @@
from pypy.module.micronumpy.base import convert_to_array, W_NDimArray
from pypy.module.micronumpy.ctors import numpify
from pypy.module.micronumpy.nditer import W_NDIter, coalesce_iter
-from pypy.module.micronumpy.strides import shape_agreement
+from pypy.module.micronumpy.strideops import shape_agreement
from pypy.module.micronumpy.support import (_parse_signature, product,
get_storage_as_int, is_rhs_priority_higher)
from .casting import (
@@ -861,6 +861,7 @@
w_itershape)
# coalesce each iterators, according to inner_dimensions
for i in range(len(inargs) + len(outargs)):
+ print 'ndim', self.core_num_dims[i]
for j in range(self.core_num_dims[i]):
new_iter = coalesce_iter(nd_it.iters[i][0], nd_it.op_flags[i],
nd_it, nd_it.order, flat=False)
More information about the pypy-commit
mailing list