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 argu‐
ments. 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 differ‐
ence 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 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 │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
├─────────────────────────────┼─────────────────────────────┤
│Standard │See standards(5). │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOfeclearexcept(3M), fetestexcept(3M), fmax(3M), fmin(3M), math.h(3HEAD),
attributes(5), standards(5)SunOS 5.11 12 Jul 2006 fdim(3M)