Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Determina a diferença positiva entre os primeiros e segundos valores.
Sintaxe
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 later
Parâmetros
x
O primeiro valor.
y
O segundo valor.
Valor retornado
Retorna a diferença positiva entre x e y:
| Valor retornado | Cenário |
|---|---|
x-y |
if x>y |
| 0 | se x<= y |
Caso contrário, pode retornar um dos seguintes erros:
| Problema | Return |
|---|---|
| Erro de intervalo de estouro | +HUGE_VAL, +HUGE_VALF ou +HUGE_VALL |
| Erro de intervalo de estouro negativo | valor correto (após o arredondamento) |
x ou y é NaN |
NaN |
Os erros são relatados conforme especificado em _matherr.
Comentários
Como C++ permite sobrecargas, é possível chamar sobrecargas de fdim que usam e retornam tipos float e long double. Em um programa C, a menos que esteja usando a macro <tgmath.h> para chamar essa função, fdim sempre recebe e retorna um double.
Se você usa a macro <tgmath.h>fdim(), o tipo do argumento determina qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.
Exceto para o tratamento de NaN, essa função é equivalente a fmax(x - y, 0).
Requisitos
| Função | Cabeçalho C | Cabeçalho C++ |
|---|---|---|
fdim, fdimf, fdiml |
<math.h> | <cmath> |
Macro fdim |
<tgmath.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Confira também
Referência alfabética de função
fmax, fmaxf, fmaxl
abs, labs, llabs, _abs64