fdim
, fdimf
, fdiml
Bestimmt den positiven Unterschied zwischen den ersten und zweiten Werten.
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
Parameter
x
Der erste Wert.
y
Der zweite Wert.
Rückgabewert
Gibt den positiven Unterschied zwischen x
und y
zurück:
Rückgabewert | Szenario |
---|---|
x-y |
if x >y |
0 | if x <= y |
Andernfalls wird einer der folgenden Fehler zurückgeben:
Abgang | Return |
---|---|
Überlaufbereichsfehler | +HUGE_VAL, +HUGE_VALF, oder +HUGE_VALL |
Unterlaufbereichsfehler | Richtiger Wert (nach dem Runden) |
x oder y ist NaN |
NaN |
Fehler werden gemäß der Angaben in _matherr
gemeldet.
Hinweise
Da C++ das Überladen zulässt, können Sie Überladungen von fdim
aufrufen, die float
und long double
-Typen verwenden und zurückgeben. In einem C-Programm, es sei denn, Sie verwenden das Makro <tgmath.h>, um diese Funktion aufzurufen, übernimmt fdim
und gibt immer ein double
zurück.
Wenn Sie das Makro <tgmath.h>fdim()
verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.
Diese Funktion entspricht fmax(x - y, 0)
, mit Ausnahme der Behandlung von NaN.
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
fdim , fdimf , fdiml |
<math.h> | <cmath> |
fdim -Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Weitere Informationen
Alphabetische Funktionsreferenz
fmax
, fmaxf
, fmaxl
abs
, labs
, llabs
, _abs64