fdim, , fdimffdiml

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, , fdimffdiml <math.h> <cmath>
fdim makro <tgmath.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Abecední odkaz na funkci
fmax, , fmaxffmaxl
abs, labs, , llabs_abs64