isgreater
, isgreaterequal
, isless
, islessequal
, islessgreater
, , isunordered
Determina a relação de ordenação entre dois valores de ponto flutuante.
Sintaxe
int isgreater(
/* floating-point */ x,
/* floating-point */ y
); /* C-only macro */
int isgreaterequal(
/* floating-point */ x,
/* floating-point */ y
); /* C-only macro */
int isless(
/* floating-point */ x,
/* floating-point */ y
); /* C-only macro */
int islessequal(
/* floating-point */ x,
/* floating-point */ y
); /* C-only macro */
int islessgreater(
/* floating-point */ x,
/* floating-point */ y
); /* C-only macro */
int isunordered(
/* floating-point */ x,
/* floating-point */ y
); /* C-only macro */
template <class FloatingType1, class FloatingType2>
inline bool isgreater(
FloatingType1 x,
FloatingType2 y
) throw(); /* C++-only template function */
template <class FloatingType1, class FloatingType2>
inline bool isgreaterequal(
FloatingType1 x,
FloatingType2 y
) throw(); /* C++-only template function */
template <class FloatingType1, class FloatingType2>
inline bool isless(
FloatingType1 x,
FloatingType2 y
) throw(); /* C++-only template function */
template <class FloatingType1, class FloatingType2>
inline bool islessequal(
FloatingType1 x,
FloatingType2 y
) throw(); /* C++-only template function */
template <class FloatingType1, class FloatingType2>
inline bool islessgreater(
FloatingType1 x,
FloatingType2 y
) throw(); /* C++-only template function */
template <class FloatingType1, class FloatingType2>
inline bool isunordered(
FloatingType1 x,
FloatingType2 y
) throw(); /* C++-only template function */
Parâmetros
x
, y
Os valores de ponto flutuante a serem comparados.
Valor retornado
Em todas as comparações, os infinitos do mesmo sinal são comparados como iguais. O infinito negativo é menor que qualquer valor finito ou infinito positivo. O infinito positivo é maios que qualquer valor finito ou infinito negativo. Zeros são iguais, independentemente do sinal. Os NaNs não são menores, iguais ou maiores que qualquer valor, incluindo outro NaN.
Quando nenhum argumento é um NaN, as macros isgreater
de ordenação , isgreaterequal
, isless
e islessequal
retornam um valor diferente de zero se a relação de ordenação especificada entre x
e y
for verdadeira. Essas macros retornarão 0 se ambos os argumentos forem NaNs ou se a relação de ordenação for falsa. Os formulários de função se comportam da mesma maneira, mas retornam true
ou false
.
A islessgreater
macro retornará um valor diferente de zero se ambos x
e y
não forem NaNs e x
for menor ou maior que y
. Ele retorna 0 se ambos os argumentos forem NaNs ou se os valores forem iguais. O formulário de função se comporta da mesma maneira, mas retorna true
ou false
.
A isunordered
macro retornará um valor diferente de zero se x
, y
, ou ambos forem NaNs. Caso contrário, retornará 0. O formulário de função se comporta da mesma maneira, mas retorna true
ou false
.
Comentários
Essas operações de comparação são implementadas como macros quando compiladas como C e como funções de modelo embutido quando compiladas como C++.
Requisitos
Função | Cabeçalho necessário (C) | Cabeçalho necessário (C++) |
---|---|---|
isgreater , isgreaterequal , isless ,islessequal , islessgreater , isunordered |
<math.h> | <math.h> ou <cmath> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Confira também
Suporte matemático e de ponto flutuante
isfinite
, _finite
, _finitef
isinf
isnan
, _isnan
, _isnanf
_fpclass
, _fpclassf