isgreater
, isgreaterequal
, isless
, islessequal
, islessgreater
isunordered
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 isgreater
di ordinamento , isgreaterequal
, isless
e 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
, y
o 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