nextafter
, nextafterf
, nextafterl
, , _nextafter
, _nextafterf
, nexttoward
, nexttowardf
, nexttowardl
Bir sonraki temsil edilebilir kayan nokta değerini döndürür.
Sözdizimi
double nextafter( double x, double y );
float nextafterf( float x, float y );
long double nextafterl( long double x, long double y );
double _nextafter( double x, double y );
float _nextafterf( float x, float y ); /* x64 only */
#define nextafter(X, Y) // Requires C11 or higher
double nexttoward( double x, long double y );
float nexttowardf( float x, long double y );
long double nexttowardl( long double x, long double y );
#define nexttoward(X, Y) // Requires C11 or higher
float nextafter( float x, float y ); /* C++ only, requires <cmath> */
long double nextafter( long double x, long double y ); /* C++ only, requires <cmath> */
float nexttoward( float x, long double y ); /* C++ only, requires <cmath> */
long double nexttoward( long double x, long double y ); /* C++ only, requires <cmath> */
Parametreler
x
Başlangıç olarak kayan nokta değeri.
y
Doğru gidecek kayan nokta değeri.
Dönüş değeri
dönüş türünün sonraki temsil edilebilir kayan nokta değerini yönünde döndürür x
y
. ve y
eşitsex
, işlevi y
dönüş türüne dönüştürülür ve özel durum tetiklenmez. değerine eşit y
değilse x
ve sonuç normal değilse veya sıfırsa, FE_UNDERFLOW
ve FE_INEXACT
kayan nokta özel durumları ayarlanır ve doğru sonuç döndürülür. x
Veya y
nan ise, dönüş değeri giriş NAN'lerinden biridir. Sonluysa ve sonuç türünde sonsuzsa veya gösterilemiyorsa x
, doğru imzalı bir sonsuzluk veya NAN döndürülür, FE_OVERFLOW
ve FE_INEXACT
kayan nokta özel durum durumları ayarlanır ve errno
olarak ERANGE
ayarlanır.
Açıklamalar
nextafter
ve nexttoward
işlev aileleri, parametre türü dışında eşdeğerdiry
. ve y
eşitsex
, döndürülen y
değer dönüş türüne dönüştürülür.
C++ aşırı yüklemeye izin verdiğinden, eklerseniz <cmath>
ve dönüşünü float
ve nexttoward
long double
türlerinin aşırı yüklemelerini nextafter
çağırabilirsiniz. Bir C programında, bu işlevi nextafter
çağırmak için makroyu <tgmath.h>
kullanmadığınız ve nexttoward
her zaman döndürmediğiniz double
sürece.
veya nexttoward
makrosundan nextafter
<tgmath.h>
kullanıyorsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .
ve _nextafterf
işlevleri Microsoft'a _nextafter
özeldir. _nextafterf
işlevi yalnızca x64 için derlenirken kullanılabilir.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli üst bilgi (C) | Gerekli üst bilgi (C++) |
---|---|---|
nextafter , nextafterf , nextafterl , , _nextafterf , nexttoward , nexttowardf , nexttowardl |
<math.h> |
<math.h> veya <cmath> |
_nextafter |
<float.h> |
<float.h> veya <cfloat> |
nextafter makro, nexttoward makro |
<tgmath.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.