Udostępnij za pośrednictwem


isgreater, , isgreaterequal, isless, islessequal, , islessgreaterisunordered

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 isgreaterporządkowania , isgreaterequalislessi 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 xwartość , ylub 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, , islessgreaterisunordered
<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