On 8/24/07, Timothy Hochberg <[EMAIL PROTECTED]> wrote: > > > > On 8/24/07, Christopher Barker <[EMAIL PROTECTED]> wrote: > [SNIP] > > > > You can have several different NaN, > > > > You can? I thought NaN was defined by IEEE 754 as a particular bit > > pattern (one for each precision, anyway). > > > There's more than one way to spell NaN in binary and they tend to mean > different things IIRC. Signalling NaNs and quiet NaNs and all of that. (Can > you tell how superficial my knowledge is here, good). > > However, if you are inserting the NaNs yourself as placeholders, then they > should all be the same kind and a binary comparison should be fine. >
To beat this horse a little more: IEEE 754 NaNs are represented with the exponential field filled with ones and some non-zero number in the mantissa. A bit-wise example of a IEEE floating-point standard<http://en.wikipedia.org/wiki/IEEE_floating-point_standard>single precision NaN: x11111111axxxxxxxxxxxxxxxxxxxxxx. x = undefined. If a = 1, it is a *quiet NaN*, otherwise it is a *signalling NaN*. That's from http://en.wikipedia.org/wiki/NaN#NaN_encodings. So there a bunch of undefined bits that could be set for the private use of whoever is producing the NaNs for their own purposes. I don't know how often those bits vary in practice, but in principle it's not safe to rely on NaNs being bitwise equal. -- . __ . |-\ . . [EMAIL PROTECTED]
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion