isgreater
, , isgreaterequal
, isless
, islessequal
, , islessgreater
isunordered
Określa relację kolejności między dwiema wartościami zmiennoprzecinkowymi.
Składnia
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 */
Parametry
x
, y
Wartości zmiennoprzecinkowe do porównania.
Wartość zwracana
We wszystkich porównaniach niezdefiniacje tego samego znaku są porównywane jako równe. Nieskończoność ujemna jest mniejsza niż dowolna wartość skończona lub nieskończoność dodatnia. Nieskończoność dodatnia jest większa niż dowolna wartość skończona lub nieskończoność ujemna. Zera są równe niezależnie od znaku. Sieci NaN nie są mniejsze niż, równe lub większe niż dowolna wartość, w tym inna wartość NaN.
Jeśli żaden argument nie jest wartością NaN, makra isgreater
porządkowania , isgreaterequal
isless
i islessequal
zwracają wartość niezerową, jeśli określona relacja porządkowania między wartościami x
i y
ma wartość true. Te makra zwracają wartość 0, jeśli oba argumenty to NaNs lub jeśli relacja porządkowania jest fałszywa. Formularze funkcji zachowują się tak samo, ale zwracają true
lub false
.
Makro islessgreater
zwraca wartość inną niż zero, jeśli obie x
wartości i y
nie są wartością NaNs, i x
jest mniejsza niż lub większa niż y
. Zwraca wartość 0, jeśli oba argumenty są wartościami NaNs lub jeśli wartości są równe. Formularz funkcji zachowuje się tak samo, ale zwraca true
wartość lub false
.
Makro isunordered
zwraca wartość inną niż zero, jeśli x
wartość , y
lub oba są wartościami NaNs. W przeciwnym razie zwraca wartość 0. Formularz funkcji zachowuje się tak samo, ale zwraca true
wartość lub false
.
Uwagi
Te operacje porównania są implementowane jako makra kompilowane jako C i jako wbudowane funkcje szablonu podczas kompilowania jako C++.
Wymagania
Function | Wymagany nagłówek (C) | Wymagany nagłówek (C++) |
---|---|---|
isgreater , , isgreaterequal , , isless islessequal , , islessgreater isunordered |
<math.h> | <math.h> lub <cmath> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
isfinite
, , _finite
_finitef
isinf
isnan
, , _isnan
_isnanf
_fpclass
, _fpclassf