Aracılığıyla paylaş


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 later

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 later

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 xy. ve x eşitsey, işlevi ydönüş türüne dönüştürülür ve özel durum tetiklenmez. değerine eşit xdeğilse y 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 ERANGEayarlanır.

Açıklamalar

nextafter ve nexttoward işlev aileleri, parametre türü dışında eşdeğerdiry. ve x eşitsey, 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ü nextafter ve nexttowardfloat türlerinin aşırı yüklemelerini long double çağırabilirsiniz. Bir C programında, bu işlevi <tgmath.h> çağırmak için makroyu nextafter kullanmadığınız ve nexttoward her zaman döndürmediğiniz doublesürece.

veya nextafter makrosundan nexttoward<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 _nextafter işlevleri Microsoft'a _nextafterf ö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.

Ayrıca bkz.

Matematik ve kayan nokta desteği
isnan, _isnan, _isnanf