[Numpy-discussion] ufunc.reduce and conversion
oliphant.travis at ieee.org
Wed Sep 20 05:59:42 CDT 2006
A. M. Archibald wrote:
> What are the rules for datatype conversion in ufuncs? Does ufunc(a,b)
> always yield the smallest type big enough to represent both a and b?
> What is the datatype of ufunc.reduce(a)?
This is an unintended consequence of making add.reduce() reduce over at
least a ("long"). I've fixed the code so that only add.reduce and
multiply.reduce alter the default reducing data-type to be long. All
other cases use the data-type of the array as the default.
Regarding your other question on data-type conversion in ufuncs:
1) If you specify an output array, then the result will be cast to the
output array data-type.
2) The actual computation takes place using a data-type that all
(non-scalar) inputs can be cast to safely (with the exception that we
assume that long long integers can be "safely" cast to "doubles" even
though this is not technically true).
More information about the Numpy-discussion