- 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 themodfl() 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(5) for descriptions of the following attributes: