On 11/06/2016 02:28, Allan Haldane wrote:

So as an extra twist in this discussion, this means numpy actually
*does* return a float value for an integer power in a few cases:

     >>> type( np.uint64(2) ** np.int8(3) )
     numpy.float64


Shouldn't that example end up the discussion? I find that behaviour for any integer power of an np.uint64. I guess if something was to be broken, I guess it is already the case.

We were given the choice between:

1 - Integers to negative integer powers raise an error.
2 - Integers to integer powers always results in floats.

and we were never given the choice to adapt the returned type to the result. Assuming that option is not possible, it is certainly better option 2 than 1 (why to refuse to perform a clearly defined operation???) *and* returning a float is already the behaviour for integer powers of np.uint64.

Armando



_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
https://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to