On 11/11/06, Stefan van der Walt <[EMAIL PROTECTED]> wrote: > On Sat, Nov 11, 2006 at 10:40:22AM -0800, Keith Goodman wrote: > > I accidentally wrote a unit test using int32 instead of float64 and > > ran into this problem: > > > > >> x = M.matrix([[1, 2, 3]]) > > >> x[0,1] = M.nan > > >> x > > matrix([[1, 0, 3]]) <--- Got 0 instead of NaN > > > > But this, of course, works: > > > > >> x = M.matrix([[1.0, 2.0, 3.0]]) > > >> x[0,1] = M.nan > > >> x > > matrix([[ 1. , nan, 3. ]]) > > > > Is returning a 0 instead of NaN the expected behavior? > > NaN (or inf) is a floating point number, so seeing a zero in integer > representation seems correct: > > In [2]: int(N.nan) > Out[2]: 0L
Would it make sense to upcast instead of downcast? This upcasts: >> x = M.matrix([[1, M.nan, 3]]) >> x matrix([[ 1. , nan, 3. ]]) But this doesn't: >> x = M.matrix([[1, 2, 3]]) >> x[0,1] = M.nan >> x matrix([[1, 0, 3]]) (BTW, how do you represent missing integers if you can't use NaN?) ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion