[pypy-commit] pypy scalar-operations: avoid unnecesary recursion
rlamy
noreply at buildbot.pypy.org
Sat Jun 28 20:30:55 CEST 2014
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: scalar-operations
Changeset: r72269:85a336b9ee2d
Date: 2014-06-27 02:10 +0100
http://bitbucket.org/pypy/pypy/changeset/85a336b9ee2d/
Log: avoid unnecesary recursion
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
@@ -33,12 +33,13 @@
if not isinstance(w_object, W_NDimArray):
w___array__ = space.lookup(w_object, "__array__")
if w___array__ is not None:
- if space.is_none(w_dtype):
+ if w_dtype is None:
w_dtype = space.w_None
w_array = space.get_and_call_function(w___array__, w_object, w_dtype)
if isinstance(w_array, W_NDimArray):
- # feed w_array back into array() for other properties
- return array(space, w_array, w_dtype, False, w_order, subok, ndmin)
+ # continue with w_array, but do further operations in place
+ w_object = w_array
+ copy = False
else:
raise oefmt(space.w_ValueError,
"object __array__ method not producing an array")
More information about the pypy-commit
mailing list