<br><br><div><span class="gmail_quote">On 4/24/07, <b class="gmail_sendername">Robert Kern</b> &lt;<a href="mailto:robert.kern@gmail.com">robert.kern@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Christian Marquardt wrote:</blockquote><div>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt; Restore the invariant, and follow python.
</blockquote><div><br>This seems to imply that once upon a time numpy/numeric/numarray followed python here, but as far as I can recall that was never the case. Instead they followed C completely, ostensibly for performance reasons. That preserved the invariant in question, but not compatibility with Python.
<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">&gt;<br>&gt; This<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&gt; -5 // 6<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;-1<br>
&gt;<br>&gt; and<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&gt;&gt; array([-5])[0] // 6<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;0<br>&gt;<br>&gt; simply doesn&#39;t make sense - in any language, you would expect that<br>&gt; all basic operators provide you with the same same answer when
<br>&gt; applied to the same number, no?<br><br>Not if they are different types, you don&#39;t, e.g. -5.0 / 6 .</blockquote><div><br>That&#39;s perhaps not the best example since this difference is slated for removal someday:
<br><br><div style="margin-left: 40px;">&gt;&gt;&gt; from __future__ import division<br>&gt;&gt;&gt; -5/6<br>-0.83333333333333337<br>&gt;&gt;&gt; -5.0/6.0<br>-0.83333333333333337<br></div>&nbsp;</div>Personally I&#39;d opt for completely following Python here, with the C-like integer division and mod operators available as appropriately named ufuncs somewhere. It&#39;s a backwards incompatible change though, so it&#39;d have to wait till at least a minor realease.
<br></div><br><br clear="all"><br>-- <br><br>//=][=\\<br><br><a href="mailto:tim.hochberg@ieee.org">tim.hochberg@ieee.org</a>