fdim
, fdimf
, fdiml
Détermine la différence positive entre les première et deuxième valeurs.
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
Paramètres
x
Première valeur.
y
Seconde valeur.
Valeur retournée
Retourne la différence positive entre x
et y
:
Valeur retournée | Scénario |
---|---|
x-y |
if x >y |
0 | si x <= y |
Sinon, peut retourner l’une des erreurs suivantes :
Problème | Retour |
---|---|
Erreur de plage avec dépassement | +HUGE_VAL, +HUGE_VALF ou +HUGE_VALL |
Erreur de plage avec soupassement | valeur correcte (après arrondi) |
x ou y est NaN |
NaN |
Les erreurs sont signalées comme spécifié dans _matherr
.
Notes
C++ autorisant la surcharge, vous pouvez appeler des surcharges de fdim
qui acceptent et retournent des types float
et long double
. Dans un programme C, sauf si vous utilisez la macro <tgmath.h> pour appeler cette fonction, fdim
prend toujours et retourne double
.
Si vous utilisez la macro <tgmath.h>fdim()
, le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.
À l’exception de la gestion NaN, cette fonction équivaut à fmax(x - y, 0)
.
Spécifications
Fonction | En-tête C | En-tête C++ |
---|---|---|
fdim , fdimf , fdiml |
<math.h> | <cmath> |
Macro fdim |
<tgmath.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Référence de fonction alphabétique
fmax
, fmaxf
, fmaxl
abs
, labs
, llabs
, _abs64