modf, modff, modfl - extract signed integral and fractional values from floating-point number
Math library (libm
, -lm
)
#include <math.h>
double modf(double x, double *iptr);
float modff(float x, float *iptr);
long double modfl(long double x, long double *iptr);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
These functions break the argument x
into an integral part
and a fractional part, each of which has the same sign as x
.
The integral part is stored in the location pointed to by
iptr
.
These functions return the fractional part of x
.
If x
is a NaN, a NaN is returned, and *iptr
is set
to a NaN.
If x
is positive infinity (negative infinity), +0 (-0) is
returned, and *iptr
is set to positive infinity (negative
infinity).
No errors occur.
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value |
Thread safety | MT-Safe |
C11, POSIX.1-2008.
C99, POSIX.1-2001.
The variant returning double
also conforms to SVr4, 4.3BSD,
C89.