MODF(3M) Mathematical Library Functions MODF(3M)

modf, modff, modfl - decompose floating-point number

c99 [ flag... ] file... -lm [ library... ]
#include <math.h>
double modf(double x, double *iptr);

float modff(float x, float *iptr);

long double modfl(long double x, long double *iptr);

These functions break the argument x into integral and fractional parts, each of which has the same sign as the argument. It stores the integral part as a double for the modf() function, a float for the modff() function, or a long double for the modfl() function in the object pointed to by iptr.

Upon successful completion, these functions return the signed fractional part of x.

If x is NaN, a NaN is returned and *iptr is set to NaN.

If x is ±Inf, ±0 is returned and *iptr is set to ±Inf.

No errors are defined.

These functions compute the function result and *iptr such that:

a = modf(x, &iptr) ;
x == a+*iptr ;

See attributes(7) for descriptions of the following attributes:

Interface Stability Standard
MT-Level MT-Safe

frexp(3M), isnan(3M), ldexp(3M), attributes(7), standards(7)
June 20, 2021 SunOS 5.11