[pypy-commit] pypy numpy-refactor: make few more tests pass
fijal
noreply at buildbot.pypy.org
Wed Sep 5 13:31:33 CEST 2012
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: numpy-refactor
Changeset: r57146:aa67dc3bdf0a
Date: 2012-09-05 13:30 +0200
http://bitbucket.org/pypy/pypy/changeset/aa67dc3bdf0a/
Log: make few more tests pass
diff --git a/pypy/module/micronumpy/arrayimpl/concrete.py b/pypy/module/micronumpy/arrayimpl/concrete.py
--- a/pypy/module/micronumpy/arrayimpl/concrete.py
+++ b/pypy/module/micronumpy/arrayimpl/concrete.py
@@ -116,6 +116,9 @@
else:
self._done = True
+ def done(self):
+ return self._done
+
def int_w(space, w_obj):
# a special version that respects both __index__ and __int__
# XXX add __index__ support
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
@@ -163,8 +163,8 @@
if self.get_size() > 1:
raise OperationError(space.w_ValueError, space.wrap(
"The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"))
- iter = self.create_iter(self.shape)
- return space.is_true(iter.getitem())
+ iter = self.create_iter(self.get_shape())
+ return space.wrap(space.is_true(iter.getitem()))
def _binop_impl(ufunc_name):
def impl(self, space, w_other, w_out=None):
diff --git a/pypy/module/micronumpy/interp_ufuncs.py b/pypy/module/micronumpy/interp_ufuncs.py
--- a/pypy/module/micronumpy/interp_ufuncs.py
+++ b/pypy/module/micronumpy/interp_ufuncs.py
@@ -126,12 +126,12 @@
array([[ 1, 5],
[ 9, 13]])
"""
- from pypy.module.micronumpy.interp_numarray import BaseArray
+ from pypy.module.micronumpy.interp_numarray import W_NDimArray
if w_axis is None:
w_axis = space.wrap(0)
if space.is_w(w_out, space.w_None):
out = None
- elif not isinstance(w_out, BaseArray):
+ elif not isinstance(w_out, W_NDimArray):
raise OperationError(space.w_TypeError, space.wrap(
'output must be an array'))
else:
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
@@ -84,15 +84,13 @@
return out
def do_axis_reduce(shape, func, arr, dtype, axis, out, identity):
- import pdb
- pdb.set_trace()
- out_iter = out.create_iter(shape)
- arr_iter = arr.create_axis_iter(shape, axis)
+ out_iter = out.create_axis_iter(arr.get_shape(), axis)
+ arr_iter = arr.create_iter(arr.get_shape())
if identity is not None:
identity = identity.convert_to(dtype)
while not out_iter.done():
w_val = arr_iter.getitem().convert_to(dtype)
- if arr_iter.first_line:
+ if out_iter.first_line:
if identity is not None:
w_val = func(dtype, identity, w_val)
else:
More information about the pypy-commit
mailing list