[Numpy-discussion] Exact semantics of ufunc.reduce

Sebastian Berg sebastian at sipsolutions.net
Fri Oct 12 12:11:20 EDT 2018

On Fri, 2018-10-12 at 17:34 +0200, Hameer Abbasi wrote:
> Hello!
> I’m trying to investigate the exact way ufunc.reduce works when given
> a custom dtype. Does it cast before or after the operation, or
> somewhere in between? How does this differ from ufunc.reduceat, for
> example?

I am not 100% sure, but I think giving the dtype definitely casts the
output type. And since most ufunc loops are defined as "ff->f", etc.
that effectively casts the input as well. It might be it casts the
input specifically, but I doubt it.

The cast will occur within the buffering machinery, so the cast is only
done in small chunks. But the operation itself should be performed
using the given dtype.

- Sebastian

> We ran into this issue in pydata/sparse#191 when trying to match the
> two where the only thing differing is the number of zeros for sum,
> which shouldn’t change the result.
> Best Regards,
> Hameer Abbasi
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20181012/43c1db8e/attachment.sig>

More information about the NumPy-Discussion mailing list