[Numpy-discussion] Off-Topic 754 question (was RE: Possible bug (was Re: numpy, overflow, inf, ieee, and rich comparison)
Jonathan M. Gilligan
jonathan.gilligan at vanderbilt.edu
Thu Oct 12 16:47:40 CDT 2000
This is a bit off-topic, but I noticed that there are lots of experts here
and I have a question about IEEE-754 that has been bugging me for some time
and which I was not able to get a good answer for on the USENET newsgroups.
I am hoping that one of the experts in this list will take pity on my
ignorance and answer what should be a simple question.
Under Microsoft Visual C++, the Standard C++ library's
numeric_limits<double>::signaling_NaN() both return -INF values. The
numeric_limits<float>::quiet_NaN() and numeric_limits<double>::quiet_NaN()
both return -IND.
I have not been able to determine whether this is "proper" behavior or
whether it is another example of Microsoft ignoring standards? I would have
thought that one of the two should return NaN. I certainly can't for the
life of me figure out why someone would call INF a NaN, but as I have said,
I'm pretty ignorant.
Right now, if I want to use NaN's in my C++ code (e.g., to initialize newly
allocated memory blocks) I build NaNs thus:
>static long iNAN =
> 0xFFFFFFFF, 0xFFFFFFFF
>static double dNAN(
> *reinterpret_cast<double *>(iNaN))
but would prefer something a little less bit-tweaky.
Microsoft's documentation that this is the way they intend their library to
work may be found at:
Jonathan M. Gilligan jonathan.gilligan at vanderbilt.edu
The Robert T. Lagemann Assistant Professor Office: 615 343-6252
of Living State Physics Lab (FEL) 343-7580
Dept. of Physics and Astronomy, Box 1807-B Fax: 343-7263
6823 Stevenson Center
Vanderbilt University, Nashville, TN 37235 Dep't Office: 322-2828
More information about the Numpy-discussion