Well, testing under windows 64 bit, Python 3.5.2, positive powers of integers give integers and negative powers of integers give floats. So, do you want to raise an exception when taking a negative power of an element of an array of integers? Because not doing so would be inconsistent with raising the exception when applying the same operation to the array.

Clearly things are broken now (I get zeros when calculating negative powers of numpy arrays of integers others than 1), but that behavior was consistent with python itself under python 2.x because the division of two integers was an integer. That does not hold under Python 3.5 where the division of two integers is a float.

You have offered either to raise an exception or to always return a float (i.e. even with positive exponents). You have never offered to be consistent with what Python does. This last option would be my favorite. If it cannot be implemented, then I would prefer always float. At least one would be consistent with something and we would not invent yet another convention.


On 08.10.2016 21:36, Charles R Harris wrote:
On Sat, Oct 8, 2016 at 1:31 PM, Krisztián Horváth
<raksi.ra...@gmail.com> wrote:

Hello,

I think it should be consistent with Python3. So, it should give
back a float.

Best regards,
Krisztian

Can't do that and also return integers for positive powers. It isn't
possible to have behavior completely compatible with python for
arrays: can't have mixed type returns, can't have arbitrary precision
integers.

Chuck

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

Reply via email to