fdim(3M) Mathematical Library Functions fdim(3M)
NAME
fdim, fdimf, fdiml - compute positive difference between two floating-point numbers
SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include <math.h>
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 between their 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 positive 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 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(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
feclearexcept(3M), fetestexcept(3M), fmax(3M), fmin(3M), math.h(3HEAD), attributes(5), standards(5)
SunOS 5.11 12 Jul 2006 fdim(3M)