Author: Ronan Lamy <[email protected]>
Branch: fix-result-types
Changeset: r77469:eb0b6316f719
Date: 2015-05-22 01:18 +0100
http://bitbucket.org/pypy/pypy/changeset/eb0b6316f719/
Log: Use find_result_type in concatenate()
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
@@ -137,19 +137,8 @@
raise OperationError(space.w_ValueError, space.wrap(
"all the input array dimensions except for the "
"concatenation axis must match exactly"))
- a_dt = arr.get_dtype()
- if dtype.is_record() and a_dt.is_record():
- # Record types must match
- for f in dtype.fields:
- if f not in a_dt.fields or \
- dtype.fields[f] != a_dt.fields[f]:
- raise OperationError(space.w_TypeError,
- space.wrap("invalid type promotion"))
- elif dtype.is_record() or a_dt.is_record():
- raise OperationError(space.w_TypeError,
- space.wrap("invalid type promotion"))
- dtype = find_binop_result_dtype(space, dtype,
- arr.get_dtype())
+
+ dtype = find_result_type(space, args_w, [])
# concatenate does not handle ndarray subtypes, it always returns a ndarray
res = W_NDimArray.from_shape(space, shape, dtype, 'C')
chunks = [Chunk(0, i, 1, i) for i in shape]
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit