cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> #include <paircw.h> extern void pqnanf (float_pair result, const char * tag); extern void pqnan (double_pair result, const char * tag); extern void pqnanl (long_double_pair result, const char * tag); extern void pqnanw (__float80_pair result, const char * tag); extern void pqnanq (__float128_pair result, const char * tag); extern void pqnanll (long_long_double_pair result, const char * tag); extern void pqnandf (decimal_float_pair result, const char * tag); extern void pqnand (decimal_double_pair result, const char * tag); extern void pqnandl (decimal_long_double_pair result, const char * tag); extern void pqnandll (decimal_long_long_double_pair result, const char * tag);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
In the mathcw library, the tag argument is expected to be string containing an unsigned hexadecimal integer, with an optional 0x prefix. Its low-order bits are installed in the low-order significand bits.
If the tag argument string is empty, or is NULL pointer, an internal counter is incremented on each call and installed in the low-order significand bits.
The generated NaN is copied to both high and low parts of the function result.