[pypy-commit] pypy default: add context argument to __array_wrap__ in ufuncs
mattip
noreply at buildbot.pypy.org
Tue Jun 2 22:48:28 CEST 2015
Author: mattip <matti.picus at gmail.com>
Branch:
Changeset: r77792:1137f0723a07
Date: 2015-06-02 22:15 +0300
http://bitbucket.org/pypy/pypy/changeset/1137f0723a07/
Log: add context argument to __array_wrap__ in ufuncs
diff --git a/pypy/module/micronumpy/test/test_subtype.py b/pypy/module/micronumpy/test/test_subtype.py
--- a/pypy/module/micronumpy/test/test_subtype.py
+++ b/pypy/module/micronumpy/test/test_subtype.py
@@ -656,6 +656,7 @@
self.output += 'In __array_wrap__:'
self.output += ' self is %s' % repr(self)
self.output += ' arr is %r\n' % (out_arr,)
+ self.output += ' context is %r\n' % (context,)
# then just call the parent
ret = np.ndarray.__array_wrap__(self, out_arr, context)
print 'wrap',self.output
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
@@ -474,7 +474,8 @@
if out is None:
if w_res.is_scalar():
return w_res.get_scalar_value()
- w_res = space.call_method(w_obj, '__array_wrap__', w_res)
+ ctxt = space.newtuple([self, space.newtuple([w_obj]), space.wrap(0)])
+ w_res = space.call_method(w_obj, '__array_wrap__', w_res, ctxt)
return w_res
def call_scalar(self, space, w_arg, in_dtype):
@@ -632,7 +633,8 @@
if out is None:
if w_res.is_scalar():
return w_res.get_scalar_value()
- w_res = space.call_method(w_highpriority, '__array_wrap__', w_res)
+ ctxt = space.newtuple([self, space.newtuple([w_lhs, w_rhs]), space.wrap(0)])
+ w_res = space.call_method(w_highpriority, '__array_wrap__', w_res, ctxt)
return w_res
def call_scalar(self, space, w_lhs, w_rhs, in_dtype):
More information about the pypy-commit
mailing list