cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float nearbyintf (float x); extern double nearbyint (double x); extern long double nearbyintl (long double x); extern __float80 nearbyintw (__float80 x); extern __float128 nearbyintq (__float128 x); extern long_long_double nearbyintll (long_long_double x); extern decimal_float nearbyintdf (decimal_float x); extern decimal_double nearbyintd (decimal_double x); extern decimal_long_double nearbyintdl (decimal_long_double x); extern decimal_long_long_double nearbyintdll (decimal_long_long_double x);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
Caution: Depending on the argument size and precision, the result may be too large to store in a variable of some integer type, even though it is exactly representable as a floating-point value.
Caution: The requirement to avoid setting the inexact exception flag is costly in some implementations, including this one. Unless you really need that feature, use the functions in the rint() family instead: they produce the same results as those in the nearbyint() family, but may set the inexact exception flag (as do most floating-point operations).