[pypy-commit] pypy numpy-back-to-applevel: a bit of shuffling until all the tests pass
fijal
noreply at buildbot.pypy.org
Sat Jan 21 18:51:03 CET 2012
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: numpy-back-to-applevel
Changeset: r51599:890ac4e99e93
Date: 2012-01-21 19:50 +0200
http://bitbucket.org/pypy/pypy/changeset/890ac4e99e93/
Log: a bit of shuffling until all the tests pass
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
@@ -142,9 +142,11 @@
def _reduce_ufunc_impl(ufunc_name, promote_to_largest=False):
def impl(self, space, w_axis=None):
if space.is_w(w_axis, space.w_None):
- w_axis = space.wrap(-1)
+ axis = -1
+ else:
+ axis = space.int_w(w_axis)
return getattr(interp_ufuncs.get(space), ufunc_name).reduce(space,
- self, True, promote_to_largest, w_axis)
+ self, True, promote_to_largest, axis)
return func_with_new_name(impl, "reduce_%s_impl" % ufunc_name)
descr_sum = _reduce_ufunc_impl("add")
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
@@ -1,6 +1,6 @@
from pypy.interpreter.baseobjspace import Wrappable
from pypy.interpreter.error import OperationError, operationerrfmt
-from pypy.interpreter.gateway import interp2app, unwrap_spec
+from pypy.interpreter.gateway import interp2app, unwrap_spec, NoneNotWrapped
from pypy.interpreter.typedef import TypeDef, GetSetProperty, interp_attrproperty
from pypy.module.micronumpy import interp_boxes, interp_dtype
from pypy.module.micronumpy.signature import ReduceSignature,\
@@ -60,7 +60,7 @@
return self.call(space, __args__.arguments_w)
@unwrap_spec(skipna=bool, keepdims=bool)
- def descr_reduce(self, space, w_obj, w_axis=None, w_dtype=None,
+ def descr_reduce(self, space, w_obj, w_axis=NoneNotWrapped, w_dtype=None,
skipna=False, keepdims=False, w_out=None):
"""reduce(...)
reduce(a, axis=0)
@@ -117,13 +117,16 @@
if not space.is_w(w_out, space.w_None):
raise OperationError(space.w_NotImplementedError, space.wrap(
"out not supported"))
- if space.is_w(w_axis, space.w_None):
+ if w_axis is None:
+ axis = 0
+ elif space.is_w(w_axis, space.w_None):
axis = -1
else:
axis = space.int_w(w_axis)
return self.reduce(space, w_obj, False, False, axis, keepdims)
- def reduce(self, space, w_obj, multidim, promote_to_largest, dim, keepdims):
+ def reduce(self, space, w_obj, multidim, promote_to_largest, dim,
+ keepdims=False):
from pypy.module.micronumpy.interp_numarray import convert_to_array, \
Scalar
if self.argcount != 2:
More information about the pypy-commit
mailing list