Compartilhar via


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.

Retornar valor

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. NaNs não são menores, iguais ou maiores que qualquer valor, incluindo outro NaN.

Quando nenhum dos argumentos é um NaN, as macros isgreaterde ordenação , , isgreaterequalislesse retornam um valor diferente de zero se a relação de ordenação especificada entre x e islessequaly 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 retorna um valor diferente de zero se ambos x e não forem NaNs e yx 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 retorna um valor diferente de zero se x, you 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
<matemática.h> <math.h> ou <cmath>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Suporte a matemática e ponto flutuante
isfinite, _finite, _finitef
isinf
isnan, _isnan, _isnanf
_fpclass, _fpclassf