Aracılığıyla paylaş


isgreater, isgreaterequal, isless, , islessequal, islessgreater, isunordered

İki kayan nokta değeri arasındaki sıralama ilişkisini belirler.

Sözdizimi

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

Parametreler

x, y
Karşılaştıracak kayan nokta değerleri.

Dönüş değeri

Tüm karşılaştırmalarda, aynı işaretin sonsuzlukları eşit olarak karşılaştırır. Negatif sonsuzluk, herhangi bir sonlu değerden veya pozitif sonsuzdan daha azdır. Pozitif sonsuzluk, herhangi bir sonlu değerden veya negatif sonsuzdan büyüktür. Sıfırlar, işaretlerden bağımsız olarak eşittir. NaN'ler başka bir NaN dahil olmak üzere herhangi bir değerden küçük, buna eşit veya bundan büyük değildir.

Bağımsız değişkenlerden hiçbiri bir NaN olmadığında, ve arasında x belirtilen sıralama ilişkisi true olarak kalırsa, sıralama makroları isgreater, isgreaterequal, islessve islessequal y sıfır olmayan bir değer döndürür. Bu makrolar, bağımsız değişkenlerden biri veya her ikisi de NaN ise veya sıralama ilişkisi false ise 0 döndürür. İşlev formları aynı şekilde davranır, ancak veya falsedöndürürtrue.

Her islessgreater ikisi de x NaN değilse ve y x değerinden küçük veya daha ybüyükse makro sıfır olmayan bir değer döndürür. Bağımsız değişkenlerden biri veya her ikisi de NaN ise veya değerler eşitse 0 döndürür. İşlev formu aynı şekilde davranır, ancak veya falsedöndürürtrue.

Makroisunordered, , yveya her ikisi de xNaN ise sıfır olmayan bir değer döndürür. Aksi takdirde 0 döndürür. İşlev formu aynı şekilde davranır, ancak veya falsedöndürürtrue.

Açıklamalar

Bu karşılaştırma işlemleri C olarak derlendiğinde makrolar olarak ve C++ olarak derlendiğinde satır içi şablon işlevleri olarak uygulanır.

Gereksinimler

İşlev Gerekli üst bilgi (C) Gerekli üst bilgi (C++)
isgreater, isgreaterequal, isless,
islessequal, islessgreater, isunordered
<math.h> <math.h> veya <cmath>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Matematik ve kayan nokta desteği
isfinite, _finite, _finitef
isinf
isnan, _isnan, _isnanf
_fpclass, _fpclassf