On Sun, Jun 5, 2011 at 6:51 PM, Gael Varoquaux <gael.varoqu...@normalesup.org> wrote: > On Sun, Jun 05, 2011 at 04:41:26PM -0600, Charles R Harris wrote: >> Now, with regards to the actual failures induced by the new >> branch, it took me a while to understand why they where happening, >> and now I realise that we probably should have explicit coercions >> at these locations. > >> So the failures in those cases is a good thing? > > Yes.
I remember in stats distributions, there were casting bugs like this and they are nasty to find. assigning a nan to an int has been changed to raise an exception, but inline operation still produces silent results >>> a = np.arange(3, dtype=np.int32) >>> a[0] = np.nan Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> a[0] = np.nan ValueError: cannot convert float NaN to integer >>> a += np.nan >>> a array([-2147483648, -2147483648, -2147483648]) >>> a = np.arange(3, dtype=np.int32) >>> a *= np.array([1.,1., np.nan]) >>> a array([ 0, 1, -2147483648]) definitely wrong Josef > > Gael > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion