nextafterl(3m) [opensolaris man page]
nextafter(3M) Mathematical Library Functions nextafter(3M) NAME
nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - next representable double-precision floating-point number SYNOPSIS
c99 [ flag... ] file... -lm [ library... ] #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); DESCRIPTION
The nextafter(), nextafterf(), and nextafterl() functions compute the next representable floating-point value following x in the direction of y. Thus, if y is less than x, nextafter() returns the largest representable floating-point number less than x. The nextafter(), nextafterf(), and nextafterl() functions return y if x equals y. The nexttoward(), nexttowardf(), and nexttowardl() functions are equivalent to the corresponding nextafter() functions, except that the second parameter has type long double and the functions return y converted to the type of the function if x equals y. RETURN VALUES
Upon successful completion, these functions return the next representable floating-point value following x in the direction of y. If x == y, y (of the type x) is returned. If x is finite and the correct function value would overflow, a range error occurs and +-HUGE_VAL, +-HUGE_VALF, and +-HUGE_VALL (with the same sign as x) is returned as appropriate for the return type of the function. If x or y is NaN, a NaN is returned. If x != y and the correct function value is subnormal, zero, or underflows, a range error occurs and either the correct function value (if representable) or 0.0 is returned. ERRORS
These functions will fail if: Range Error The correct value overflows. If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, the overflow floating-point exception is raised. The nextafter() function sets errno to ERANGE if the correct value would overflow. Range Error The correct value underflows. If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, the underflow floating-point exception is raised. USAGE
An application wanting to check for exceptions should call feclearexcept(FE_ALL_EXCEPT) before calling these functions. On return, if fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an exception has been raised. An application should either examine the return value or check the floating point exception flags to detect exceptions. An application can also set errno to 0 before calling nextafter(). On return, if errno is non-zero, an error has occurred. The nextafterf(), nextafterl(). nexttoward(), nexttowardf(), and nexttowardl() functions do not set errno. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
feclearexcept(3M), fetestexcept(3M), math.h(3HEAD), attributes(5), standards(5) SunOS 5.11 12 Jul 2006 nextafter(3M)
Check Out this Related Man Page
nextafter(3M) Mathematical Library Functions nextafter(3M) NAME
nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - next representable double-precision floating-point number SYNOPSIS
c99 [ flag... ] file... -lm [ library... ] #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); DESCRIPTION
The nextafter(), nextafterf(), and nextafterl() functions compute the next representable floating-point value following x in the direction of y. Thus, if y is less than x, nextafter() returns the largest representable floating-point number less than x. The nextafter(), nextafterf(), and nextafterl() functions return y if x equals y. The nexttoward(), nexttowardf(), and nexttowardl() functions are equivalent to the corresponding nextafter() functions, except that the second parameter has type long double and the functions return y converted to the type of the function if x equals y. RETURN VALUES
Upon successful completion, these functions return the next representable floating-point value following x in the direction of y. If x == y, y (of the type x) is returned. If x is finite and the correct function value would overflow, a range error occurs and +-HUGE_VAL, +-HUGE_VALF, and +-HUGE_VALL (with the same sign as x) is returned as appropriate for the return type of the function. If x or y is NaN, a NaN is returned. If x != y and the correct function value is subnormal, zero, or underflows, a range error occurs and either the correct function value (if representable) or 0.0 is returned. ERRORS
These functions will fail if: Range Error The correct value overflows. If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, the overflow floating-point exception is raised. The nextafter() function sets errno to ERANGE if the correct value would overflow. Range Error The correct value underflows. If the integer expression (math_errhandling & MATH_ERREXCEPT) is non-zero, the underflow floating-point exception is raised. USAGE
An application wanting to check for exceptions should call feclearexcept(FE_ALL_EXCEPT) before calling these functions. On return, if fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is non-zero, an exception has been raised. An application should either examine the return value or check the floating point exception flags to detect exceptions. An application can also set errno to 0 before calling nextafter(). On return, if errno is non-zero, an error has occurred. The nextafterf(), nextafterl(). nexttoward(), nexttowardf(), and nexttowardl() functions do not set errno. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
feclearexcept(3M), fetestexcept(3M), math.h(3HEAD), attributes(5), standards(5) SunOS 5.11 12 Jul 2006 nextafter(3M)