fmod(3M) Mathematical Library Functions 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 feclearex‐
cept(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(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOfeclearexcept(3M), fetestexcept(3M), isnan(3M), math.h(3HEAD),
attributes(5), standards(5)SunOS 5.10 12 Jul 2006 fmod(3M)