Partager via


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