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