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> |
fdim Macro |
<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