fdim
, fdimf
, fdiml
Determines the positive difference between the first and second values.
Syntax
double fdim(
double x,
double y
);
float fdim(
float x,
float y
); //C++ only
long double fdim(
long double x,
long double y
); //C++ only
float fdimf(
float x,
float y
);
long double fdiml(
long double x,
long double y
);
#define fdim(X) // Requires C11 or higher
Parameters
x
The first value.
y
The second value.
Return value
Returns the positive difference between x
and y
:
Return value | Scenario |
---|---|
x-y |
if x > y |
0 | if x <= y |
Otherwise, may return one of the following errors:
Issue | Return |
---|---|
Overflow range error | +HUGE_VAL, +HUGE_VALF, or +HUGE_VALL |
Underflow range error | correct value (after rounding) |
x or y is NaN |
NaN |
Errors are reported as specified in _matherr
.
Remarks
Because C++ allows overloading, you can call overloads of fdim
that take and return float
and long double
types. In a C program, unless you're using the <tgmath.h> macro to call this function, fdim
always takes and returns a double
.
If you use the <tgmath.h> fdim()
macro, the type of the argument determines which version of the function is selected. See Type-generic math for details.
Except for the NaN handling, this function is equivalent to fmax(x - y, 0)
.
Requirements
Function | C header | C++ header |
---|---|---|
fdim , fdimf , fdiml |
<math.h> | <cmath> |
fdim macro |
<tgmath.h> |
For more compatibility information, see Compatibility.
See also
Alphabetical function reference
fmax
, fmaxf
, fmaxl
abs
, labs
, llabs
, _abs64
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru