cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> #include <paircw.h> extern void psetf (float_pair result, float x, float y); extern void pset (double_pair result, double x, double y); extern void psetl (long_double_pair result, long double x, long double y); extern void psetw (__float80_pair result, __float80 x, __float80 y); extern void psetq (__float128_pair result, __float128 x, __float128 y); extern void psetll (long_long_double_pair result, long_long_double x, long_long_double y); extern void psetdf (decimal_float_pair result, decimal_float x, decimal_float y); extern void psetd (decimal_double_pair result, decimal_double x, decimal_double y); extern void psetdl (decimal_long_double_pair result, decimal_long_double x, decimal_long_double y); extern void psetdll (decimal_long_long_double_pair result, decimal_long_long_double x, decimal_long_long_double y);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
This function provides a type cast from ordinary scalar floating-point arithmetic to pair-precision arithmetic.
If y is zero, pset(3CW) ensures that the zero value stored has the same sign as that of x; this action is necessary to ensure proper handling of signed zeros in other pair-precision arithmetic functions.
Use this function when the magnitude of the low part is known to be smaller than that of the high part by at least a factor of the machine epsilon, or if both parts are zero, or if the low part is zero. Otherwise, use psum2(3CW) for the initialization.