"Paul A. Bristow" <[EMAIL PROTECTED]> writes: | | Signalling NaNs are used to indicate missing initialization values. | | This is OK for catching missing initialization by mistake - but not | for OK for deliberately missing because there really is no value | (measurement missing).
There is not just one qNaN (nor just one sNaN). There is a range for NaNs. And most of the systems I worked with, the pattern bits in a NaN is used to communicate the reason of being of the NaN. For example, it may output sNaN("missing-value"). Note: C99 provides a pseudo-standard way to produce NaNs, through the functions double nan(const char*); float nanf(const char*); long double nanl(const char*); | | In this case, for example calculating the mean, you want to test if the value is | present/valid 'is_not_missing' before you add it to the sum and increment the | count. | | Testing !is_nan is possible solution but I'm not sure it is ideal. Indeed, it is no good. | Suggestions? I would first make a summary of the usage of the bit patterns for NaNs and decide on one and document it. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost