fdim
, fdimf
, fdiml
Determina la differenza positiva tra il primo e il secondo valore.
Sintassi
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
Parametri
x
Primo valore.
y
Secondo valore.
Valore restituito
Restituisce la differenza positiva tra x
e y
:
Valore restituito | Scenario |
---|---|
x-y |
if x >y |
0 | if x <= y |
In caso contrario, può restituire uno degli errori seguenti:
Problema | Restituzione |
---|---|
Errore di intervallo di overflow | +HUGE_VAL, +HUGE_VALF o +HUGE_VALL |
Errore di intervallo di underflow | valore corretto (dopo l'arrotondamento) |
x o y è NaN |
NaN |
Gli errori vengono segnalati come specificato in _matherr
.
Osservazioni:
Poiché C++ consente l'overload, è possibile chiamare gli overload di fdim
che accettano e restituiscono i tipi float
e long double
. In un programma C, a meno che non si usi la <macro tgmath.h> per chiamare questa funzione, fdim
accetta sempre e restituisce un oggetto double
.
Se si utilizza la <macro tgmath.h>fdim()
, il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.
Ad eccezione della gestione NaN, questa funzione equivale a fmax(x - y, 0)
.
Requisiti
Funzione | Intestazione C | Intestazione C++ |
---|---|---|
fdim , fdimf , fdiml |
<math.h> | <cmath> |
fdim macro |
<tgmath.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedi anche
Informazioni di riferimento sulle funzioni alfabetiche
fmax
, fmaxf
, fmaxl
abs
, labs
, llabs
_abs64