FMOD(3M) Mathematical Library Functions FMOD(3M)
fmod, fmodf, fmodl - floating-point remainder value function
c99 [ flag... ] file... -lm [ library... ]
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
These functions return the floating-point remainder of the division
of x by y.
These functions return the value x - i * y, for some integer i such
that, if y is non-zero, the result has the same sign as x and
magnitude less than the magnitude of y.
If x or y is NaN, a NaN is returned.
If y is 0, a domain error occurs and a NaN is returned.
If x is infinite, a domain error occurs and a NaN is returned.
If x is +-0 and y is not 0, +-0 is returned.
If x is not infinite and y is +-Inf, x is returned.
These functions will fail if:
Domain Error
The x argument is infinite or y is 0.
If the integer expression (math_errhandling &
MATH_ERREXCEPT) is non-zero, the invalid floating-
point exception is raised.
An application wanting to check for exceptions should call
feclearexcept(FE_ALL_EXCEPT) before calling these functions. On
return, if fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |
FE_UNDERFLOW) is non-zero, an exception has been raised. An
application should either examine the return value or check the
floating point exception flags to detect exceptions.
See attributes(7) for descriptions of the following attributes:
+----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+----------------------------+-----------------------------+
|Interface Stability | Standard |
+----------------------------+-----------------------------+
|MT-Level | MT-Safe |
+----------------------------+-----------------------------+
math.h(3HEAD), feclearexcept(3M), fetestexcept(3M), isnan(3M),
attributes(7), standards(7)
SunOS 5.11 July 12, 2006 FMOD(3M)
NAME
fmod, fmodf, fmodl - floating-point remainder value function
SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
DESCRIPTION
These functions return the floating-point remainder of the division
of x by y.
RETURN VALUES
These functions return the value x - i * y, for some integer i such
that, if y is non-zero, the result has the same sign as x and
magnitude less than the magnitude of y.
If x or y is NaN, a NaN is returned.
If y is 0, a domain error occurs and a NaN is returned.
If x is infinite, a domain error occurs and a NaN is returned.
If x is +-0 and y is not 0, +-0 is returned.
If x is not infinite and y is +-Inf, x is returned.
ERRORS
These functions will fail if:
Domain Error
The x argument is infinite or y is 0.
If the integer expression (math_errhandling &
MATH_ERREXCEPT) is non-zero, the invalid floating-
point exception is raised.
USAGE
An application wanting to check for exceptions should call
feclearexcept(FE_ALL_EXCEPT) before calling these functions. On
return, if fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |
FE_UNDERFLOW) is non-zero, an exception has been raised. An
application should either examine the return value or check the
floating point exception flags to detect exceptions.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+----------------------------+-----------------------------+
|Interface Stability | Standard |
+----------------------------+-----------------------------+
|MT-Level | MT-Safe |
+----------------------------+-----------------------------+
SEE ALSO
math.h(3HEAD), feclearexcept(3M), fetestexcept(3M), isnan(3M),
attributes(7), standards(7)
SunOS 5.11 July 12, 2006 FMOD(3M)