nextafter
, nextafterf
, , nextafterl
, _nextafterf
_nextafter
, , nexttoward
, , nexttowardf
nexttowardl
Zwraca następną reprezentującą wartość zmiennoprzecinkową.
Składnia
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> */
Parametry
x
Wartość zmiennoprzecinkowa do rozpoczęcia od.
y
Wartość zmiennoprzecinkowa do przejścia w kierunku.
Wartość zwracana
Zwraca następną reprezentującą wartość zmiennoprzecinkową typu zwracanego po x
kierunku y
. Jeśli x
i y
są równe, funkcja zwraca y
wartość , przekonwertowaną na typ zwracany bez wyzwalania wyjątku. Jeśli x
wartość nie jest równa y
wartości , a wynik jest denormalny lub zero, FE_UNDERFLOW
są ustawione stany wyjątków zmiennoprzecinkowych i FE_INEXACT
zwracany jest prawidłowy wynik. Jeśli albo x
y
jest nazwą NAN, zwracana wartość jest jedną z wejściowych sieci NAN. Jeśli x
jest skończona, a wynik jest nieskończony lub nie można go przedstawić w typie, zwracana jest poprawnie podpisana nieskończoność lub wartość NAN, FE_OVERFLOW
FE_INEXACT
ustawiane są stany wyjątków zmiennoprzecinkowych i errno
ustawiono wartość ERANGE
.
Uwagi
Rodziny nextafter
funkcji i nexttoward
są równoważne, z wyjątkiem typu parametru y
. Jeśli x
i y
są równe, zwracana wartość jest y
konwertowana na zwracany typ.
Ponieważ język C++ umożliwia przeciążenie, jeśli uwzględnisz<cmath>
, możesz wywołać przeciążenia elementów i zwracanych nextafter
float
i nexttoward
long double
typów. W programie języka C, chyba że używasz makra <tgmath.h>
do wywoływania tej funkcji i nextafter
nexttoward
zawsze zwracasz wartość double
.
Jeśli używasz makra nextafter
lub nexttoward
z <tgmath.h>
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Funkcje _nextafter
i _nextafterf
są specyficzne dla firmy Microsoft. Funkcja _nextafterf
jest dostępna tylko podczas kompilowania dla x64.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Procedura | Wymagany nagłówek (C) | Wymagany nagłówek (C++) |
---|---|---|
nextafter , nextafterf , , nextafterl , _nextafterf , nexttoward , , nexttowardf nexttowardl |
<math.h> |
<math.h> lub <cmath> |
_nextafter |
<float.h> |
<float.h> lub <cfloat> |
nextafter makro, nexttoward makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
isnan
, , _isnan
_isnanf