nexttowardl(3) -- Linux man page



nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - floating point number manipulation  


#include <math.h>

double nextafter(double x, double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);

double nexttoward(double x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);  


The nextafter() functions return the next representable neighbor of x in the direction towards y. The size of the step between x and the result depends on the type of the result. If x = y the function simply returns y. If either value is NaN, then NaN is returned. Otherwise a value corresponding to the value of the least significant bit in the mantissa is added or subtracted, depending on the direction.

The nexttoward() functions do the same as the nextafter() functions, except that they have a long double second argument.

These functions will signal overflow or underflow if the result goes outside of the range of normalized numbers.  


C99. This function is defined in IEC 559 (and the appendix with recommended functions in IEEE 754/IEEE 854).