modf, modff, modfl - extract signed integral and fractional values from floating-point number
Contents
Attributes
For an explanation of the terms used in this section, see attributes(7).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ modf(), modff(), modfl() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
Description
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.
Errors
No errors occur.
History
C99, POSIX.1-2001.
The variant returning double also conforms to SVr4, 4.3BSD, C89.
Library
Math library (libm, -lm)
Name
modf, modff, modfl - extract signed integral and fractional values from floating-point number
Return Value
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).
See Also
frexp(3), ldexp(3) Linux man-pages 6.9.1 2024-05-02 modf(3)
Standards
C11, POSIX.1-2008.
Synopsis
#include<math.h>doublemodf(doublex,double*iptr);floatmodff(floatx,float*iptr);longdoublemodfl(longdoublex,longdouble*iptr); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): modff(), modfl(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
