<div dir="ltr"><div><div>Hi All,<br><br></div>The time for NumPy 1.12.0 approaches and I like to have a final decision on the treatment of integers to negative integer powers with the `**` operator. The two alternatives looked to be<br><br><b>Raise an error for arrays and numpy scalars, including 1 and -1 to negative powers.<br></b><br><i>Pluses</i><br></div><ul><li>Backward compatible</li><li>Allows common powers to be integer, e.g., arange(3)**2</li><li>Consistent with inplace operators</li><li>Fixes current wrong behavior.</li><li>Preserves type</li></ul><div><br></div><div><i>Minuses</i><br></div><ul><li>Integer overflow</li><li>Computational inconvenience</li><li>Inconsistent with Python integers<br></li></ul><div><br></div><div><b>Always return a float </b><br><br></div><div><i>Pluses</i><br></div><div><ul><li>Computational convenience</li></ul></div><div><i><br>Minuses</i><br></div><ul><li>Loss of type</li><li>Possible backward incompatibilities</li><li>Not applicable to inplace operators</li></ul><div><br><br></div><div>Thoughts?<br><br></div><div>Chuck<br></div><div><br></div><div><br></div></div>