fdim, fdimf, fdiml

Determina la diferencia positiva entre el primer y el segundo valor.

Sintaxis

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

Parámetros

x
Primer valor.

y
Segundo valor.

Valor devuelto

Devuelve la diferencia positiva entre x y y:

Valor devuelto Escenario
x-y if x>y
0 si x<= y

De lo contrario, puede que devuelva uno de los siguientes errores:

Problema Return
Error de intervalo de desbordamiento +HUGE_VAL, +HUGE_VALF o +HUGE_VALL
Error de intervalo de subdesbordamiento valor correcto (después del redondeo)
x o y es NaN NaN

Los errores se notifican como se especifica en _matherr.

Comentarios

Como C++ permite las sobrecargas, puede llamar a las sobrecargas de fdim que toman y devuelven los tipos float y long double. En un programa de C, a menos que use la macro de <tgmath.h> para llamar a esta función, fdim siempre toma y devuelve un double.

Si usa la macro <tgmath.h>fdim(), el tipo del argumento determina qué versión de la función se selecciona. Consulte Matemáticas de tipo genérico para obtener más información.

Excepto en el caso del control de NaN, esta función es equivalente a fmax(x - y, 0).

Requisitos

Función Encabezado C Encabezado C++
fdim, fdimf, fdiml <math.h> <cmath>
fdimMacro <tgmath.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

referencia de función alfabética
fmax, fmaxf, fmaxl
abs, labs, llabs, _abs64