Condividi tramite


isgreater, isgreaterequal, isless, islessequal, islessgreaterisunordered

Determina la relazione di ordinamento tra due valori a virgola mobile.

Sintassi

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 */

Parametri

x, y
Valori a virgola mobile da confrontare.

Valore restituito

In tutti i confronti, infiniti dello stesso segno vengono confrontati come uguali. L'infinito negativo è minore di qualsiasi valore finito o infinito positivo. L'infinito positivo è maggiore di qualsiasi valore finito o infinito negativo. Gli zere sono uguali indipendentemente dal segno. I nomi NaN non sono minori, uguali o maggiori di qualsiasi valore, incluso un altro NaN.

Quando nessuno degli argomenti è un valore NaN, le macro isgreaterdi ordinamento , isgreaterequal, islesse islessequal restituiscono un valore diverso da zero se la relazione di ordinamento specificata tra x e y contiene true. Queste macro restituiscono 0 se uno o entrambi gli argomenti sono NaN o se la relazione di ordinamento è false. Le forme di funzione si comportano allo stesso modo, ma restituiscono true o false.

La islessgreater macro restituisce un valore diverso da zero se e y x non sono NaN e x è minore o maggiore di y. Restituisce 0 se uno o entrambi gli argomenti sono NaN o se i valori sono uguali. Il formato della funzione si comporta allo stesso modo, ma restituisce true o false.

La isunordered macro restituisce un valore diverso da zero se x, yo entrambi sono NaN. In caso contrario, viene restituito 0. Il formato della funzione si comporta allo stesso modo, ma restituisce true o false.

Osservazioni:

Queste operazioni di confronto vengono implementate come macro quando vengono compilate come C e come funzioni modello inline quando vengono compilate come C++.

Requisiti

Funzione Intestazione obbligatoria (C) Intestazione obbligatoria (C++)
isgreater, isgreaterequal, isless
islessequal, islessgreater, isunordered
<math.h> <math.h> o <cmath>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Vedi anche

Supporto matematico e a virgola mobile
isfinite, _finite, _finitef
isinf
isnan, _isnan, _isnanf
_fpclass, _fpclassf