modf (original) (raw)
The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.
A newer edition of this document exists here
NAME
modf, modff, modfl - decompose a floating-point number
SYNOPSIS
`#include <math.h>
double modf(double
x, double *iptr);
float modff(float value, float *iptr);
long double modfl(long double value, long double *iptr);
`
DESCRIPTION
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of IEEE Std 1003.1-2001 defers to the ISO C standard.
These functions shall 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.
RETURN VALUE
Upon successful completion, these functions shall return the signed fractional part of x.
[MX] If_x_ is NaN, a NaN shall be returned, and *iptr shall be set to a NaN.
If x is ±Inf, ±0 shall be returned, and *iptr shall be set to ±Inf.
ERRORS
No errors are defined.
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
The modf() function computes the function result and *iptr such that:
a = modf(x, iptr) ; x == a+*iptr ;
allowing for the usual floating-point inaccuracies.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
frexp(), isnan(), ldexp(), the Base Definitions volume of IEEE Std 1003.1-2001, <math.h>
CHANGE HISTORY
First released in Issue 1. Derived from Issue 1 of the SVID.
Issue 5
The DESCRIPTION is updated to indicate how an application should check for an error. This text was previously published in the APPLICATION USAGE section.
Issue 6
The modff() and modfl() functions are added for alignment with the ISO/IEC 9899:1999 standard.
The DESCRIPTION, RETURN VALUE, ERRORS, and APPLICATION USAGE sections are revised to align with the ISO/IEC 9899:1999 standard.
IEC 60559:1989 standard floating-point extensions over the ISO/IEC 9899:1999 standard are marked.
IEEE Std 1003.1-2001/Cor 1-2002, item XSH/TC1/D6/35 is applied, correcting the code example in the APPLICATION USAGE section.
End of informative text.
UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT]