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 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 xy. ve y eşitsex, işlevi ydönüş türüne dönüştürülür ve özel durum tetiklenmez. değerine eşit ydeğ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 ERANGEayarlanı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 nexttowardlong 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 doublesürece.

veya nexttowardmakrosundan 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.

Ayrıca bkz.

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