fdim
, , fdimf
fdiml
Určuje kladný rozdíl mezi první a druhou hodnotou.
Syntaxe
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
Parametry
x
První hodnota.
y
Druhá hodnota.
Vrácená hodnota
Vrátí kladný rozdíl mezi x
a y
:
Vrácená hodnota | Scénář |
---|---|
x-y |
když x >y |
0 | if x <= y |
V opačném případě může vrátit jednu z následujících chyb:
Problém | Zpět |
---|---|
Chyba rozsahu přetečení | +HUGE_VAL, +HUGE_VALF nebo +HUGE_VALL |
Chyba oblasti podtečení | správná hodnota (po zaokrouhlení) |
x nebo y je NaN |
Není číslo |
Chyby jsou hlášeny, jak je uvedeno v _matherr
.
Poznámky
Vzhledem k tomu, že jazyk C++ umožňuje přetížení, můžete volat přetížení fdim
, která přebírají a vracejí float
a long double
typy. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, fdim
vždy přebírá a vrací hodnotu double
.
Pokud použijete <makro tgmath.h>fdim()
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
S výjimkou zpracování NaN je tato funkce ekvivalentní fmax(x - y, 0)
.
Požadavky
Function | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
fdim , , fdimf fdiml |
<math.h> | <cmath> |
fdim makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Abecední odkaz na funkci
fmax
, , fmaxf
fmaxl
abs
, labs
, , llabs
_abs64