nextafter, nextafterf, nextafterl, _nextafter, _nextafterf, nexttoward, nexttowardf, nexttowardl

Mengembalikan nilai floating-point berikutnya yang dapat diwakili.

Sintaks

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

Parameter

x
Nilai floating-point untuk memulai.

y
Nilai floating-point untuk menuju.

Nilai hasil

Mengembalikan nilai floating-point berikutnya yang dapat diwakili dari jenis pengembalian setelah x dalam arah y. Jika x dan y sama, fungsi mengembalikan y, dikonversi ke jenis pengembalian, tanpa pengecualian yang dipicu. Jika x tidak sama dengan y, dan hasilnya adalah denormal atau nol, FE_UNDERFLOWFE_INEXACT dan status pengecualian floating-point diatur, dan hasil yang benar dikembalikan. Jika salah satu x atau y adalah NAN, maka nilai yang dikembalikan adalah salah satu NAN input. Jika x terbatas dan hasilnya tidak terbatas atau tidak dapat diwakili dalam jenis , infinity yang ditandatangani dengan benar atau NAN dikembalikan, FE_OVERFLOWFE_INEXACT dan status pengecualian floating-point diatur, dan errno diatur ke ERANGE.

Keterangan

Keluarga nextafter fungsi dan nexttoward setara, kecuali untuk jenis yparameter . Jika x dan y sama, nilai yang dikembalikan dikonversi y ke jenis pengembalian.

Karena C++ memungkinkan kelebihan beban, jika Anda menyertakan <cmath> Anda dapat memanggil kelebihan beban nextafter dan nexttoward pengembalian dan long double jenis tersebutfloat. Dalam program C, kecuali Anda menggunakan <tgmath.h> makro untuk memanggil fungsi ini, nextafter dan nexttoward selalu mengembalikan double.

Jika Anda menggunakan nextafter makro atau nexttowarddari <tgmath.h>, jenis argumen menentukan versi fungsi mana yang dipilih. Lihat Matematika generik jenis untuk detailnya.

Fungsi _nextafter dan _nextafterf khusus Microsoft. Fungsi _nextafterf ini hanya tersedia saat mengkompilasi untuk x64.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Persyaratan

Rutin Header yang diperlukan (C) Header yang diperlukan (C++)
nextafter, nextafterf, nextafterl, _nextafterf, nexttoward, nexttowardf, nexttowardl <math.h> <math.h> atau <cmath>
_nextafter <float.h> <float.h> atau <cfloat>
nextafter makro, nexttoward makro <tgmath.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Baca juga

Dukungan matematika dan titik mengambang
isnan, _isnan, _isnanf