nextafter
, , nextafterf
nextafterl
, _nextafter
, _nextafterf
, nexttoward
, , nexttowardf
nexttowardl
Gibt den nächsten darstellbaren Gleitkommawert zurück.
Syntax
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
Der Gleitkommawert, der den Startpunkt markiert.
y
Der Gleitkommawert, der den Zielpunkt markiert.
Rückgabewert
Gibt den nächsten darstellbaren Gleitkommawert des Rückgabetyps nach x
in Richtung y
an. Wenn x
und y
gleich sind, gibt die Funktion zurück y
, konvertiert in den Rückgabetyp, ohne Ausnahme ausgelöst. Wenn x
dies nicht gleich y
ist und das Ergebnis ein Denormal oder Null ist, werden die FE_UNDERFLOW
Ausnahmezustände für Gleitkomma FE_INEXACT
und Gleitkomma festgelegt, und das richtige Ergebnis wird zurückgegeben. Wenn x
oder y
eine NaN ist, dann entspricht der Rückgabewert einer der Eingabe-NaN. Wenn x
es endlich ist und das Ergebnis unendlich oder nicht im Typ dargestellt werden kann, wird eine ordnungsgemäß signierte Unendlichkeit oder NAN zurückgegeben, die Ausnahmezustände und FE_INEXACT
Gleitkommazustände FE_OVERFLOW
werden festgelegt und errno
auf ERANGE
.
Hinweise
Die nextafter
und nexttoward
-Funktionsfamilien sind mit Ausnahme des Parametertyps von y
gleichwertig. Wenn x
und y
identisch sind, ist der zurückgegebene Wert y
. Dieser wird in den Rückgabetyp konvertiert.
Da C++ Überladungen zulässt, können Sie, wenn Sie Überladungen von nextafter
und diese Rückgabe float
und long double
Typen einschließen <cmath>
nexttoward
. In einem C-Programm, es sei denn, Sie verwenden das <tgmath.h>
Makro, um diese Funktion aufzurufen, nextafter
und nexttoward
geben immer zurück double
.
Wenn Sie das Argument oder nexttoward
das nextafter
Makro <tgmath.h>
verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.
Die _nextafter
Funktionen sind _nextafterf
microsoftspezifisch. Die _nextafterf
-Funktion ist nur verfügbar, wenn für x64 kompiliert wird.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher Header (C) | Erforderlicher Header (C++) |
---|---|---|
nextafter , , nextafterf nextafterl , _nextafterf , nexttoward , , nexttowardf nexttowardl |
<math.h> |
<math.h> oder <cmath> |
_nextafter |
<float.h> |
<float.h> oder <cfloat> |
nextafter Makro, nexttoward Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
isnan
, _isnan
_isnanf