Mathematical Library Functions fdim(3M)
NAME
fdim, fdimf, fdiml - compute positive difference between two
floating-point numbers
SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include
double fdim(double x, double y);float fdimf(float x, float y);
long double fdiml(long double x, long double y);DESCRIPTION
These functions determine the positive difference betweentheir arguments. If x is greater than y, x-y is returned. If
x is less than or equal to y, +0 is returned.RETURN VALUES
Upon successful completion, these functions return the posi-
tive difference value.If x-y is positive and overflows, a range error occurs and
fdim(), fdimf(), and fdiml() returns the value of the macro
HUGE_VAL, HUGE_VALF, and HUGE_VALL, respectively.
If x or y is NaN, a NaN is returned.ERRORS
These functions will fail if: Range Error The result overflows.If the integer expression (math_errhandling &
MATH_ERREXCEPT) is non-zero, the overflow
floating-point exception will be raised.
USAGE
An application wanting to check for exceptions should callfeclearexcept(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.SunOS 5.11 Last change: 12 Jul 2006 1
Mathematical Library Functions fdim(3M)ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
feclearexcept(3M), fetestexcept(3M), fmax(3M), fmin(3M), math.h(3HEAD), attributes(5), standards(5)SunOS 5.11 Last change: 12 Jul 2006 2