Sdílet prostřednictvím


isgreater, isgreaterequal, isless, islessequal, , islessgreaterisunordered

Určuje vztah řazení mezi dvěma hodnotami s plovoucí desetinnou čárkou.

Syntaxe

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
Hodnotysch

Vrácená hodnota

Ve všech porovnáních se infinity stejného znaménka porovnávají jako stejné. Záporné nekonečno je menší než jakákoli konečná hodnota nebo kladné nekonečno. Kladné nekonečno je větší než jakákoli konečná hodnota nebo záporné nekonečno. Nuly jsou stejné bez ohledu na znaménko. Sítě NaN nejsou menší než, rovny nebo větší než jakákoli hodnota, včetně jiné hodnoty NaN.

Pokud ani jeden z argumentů isgreaternení NaN, pořadí maker , isgreaterequalisless, a islessequal vrátí nenulovou hodnotu, pokud zadaný vztah řazení mezi x a y obsahuje hodnotu true. Tato makra vrátí hodnotu 0, pokud jsou buď nebo oba argumenty názvy NaN, nebo pokud je relace řazení nepravda. Formuláře funkce se chovají stejným způsobem, ale vrátí true nebo false.

Makro islessgreater vrátí nenulovou hodnotu, pokud x není hodnota NaN a y x je menší nebo větší než y. Vrátí hodnotu 0, pokud jsou buď nebo oba argumenty nan, nebo pokud jsou hodnoty stejné. Formulář funkce se chová stejným způsobem, ale vrací true nebo false.

Makro isunordered vrátí nenulovou hodnotu, pokud je hodnota x, ynebo obě jsou nan. Jinak vrací 0. Formulář funkce se chová stejným způsobem, ale vrací true nebo false.

Poznámky

Tyto operace porovnání se implementují jako makra při kompilaci jako C a jako vložené funkce šablony při kompilaci jako C++.

Požadavky

Function Povinná hlavička (C) Povinná hlavička (C++)
isgreater, isgreaterequal, , isless
islessequal, , islessgreaterisunordered
<math.h> <math.h> nebo <cmath>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Podpora pro matematiku a plovoucí desetinou čárku
isfinite, , _finite_finitef
isinf
isnan, , _isnan_isnanf
_fpclass, _fpclassf