After looking at another question on SO (Using NaN in C++) I became curious about std::numeric_limits<double>::signaling_NaN()
.
I could not get signaling_NaN to throw an exception. I thought perhaps by signaling it really meant a signal so I tried catching SIGFPE but nope...
Here is my code:
double my_nan = numeric_limits<double>::signaling_NaN();
my_nan++;
my_nan += 5;
my_nan = my_nan / 10;
my_nan = 15 / my_nan;
cout << my_nan << endl;
numeric_limits<double>::has_signaling_NaN
evaluates to true, so it is implemented on my system.
Any ideas?
I am using ms visual studio .net 2003's C++ compiler. I want to test it on another when I get home.
Thanks!
See Question&Answers more detail:os