nextafter
, nextafterf
, nextafterl
, , _nextafterf
_nextafter
, nexttoward
, , nexttowardf
nexttowardl
Vrátí další reprezentovatelnou hodnotu s plovoucí desetinnou čárkou.
Syntaxe
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
Hodnota s plovoucí desetinou čárkou, od které se má začít.
y
Hodnota s plovoucí desetinou čárkou, ke které se má přejít.
Vrácená hodnota
Vrátí další reprezentovatelnou hodnotu s plovoucí desetinnou čárkou návratového typu za x
směrem .y
Pokud x
a y
jsou rovny, funkce vrátí y
, převede na návratový typ bez výjimky aktivované. Pokud x
není rovno y
a výsledek je denormální nebo nula, FE_UNDERFLOW
nastaví se stavy výjimky s FE_INEXACT
plovoucí desetinou čárkou a vrátí se správný výsledek. Pokud je hodnota x
NAN nebo y
nan, je návratová hodnota jednou ze vstupních sítí NAN. Pokud x
je konečný a výsledek je nekonečný nebo není reprezentovatelný v typu, vrátí se správně podepsané nekonečno nebo NAN, FE_OVERFLOW
FE_INEXACT
a stavy výjimky s plovoucí desetinnou čárkou jsou nastaveny a errno
je nastavena na ERANGE
.
Poznámky
nexttoward
Rodiny nextafter
funkcí jsou ekvivalentní, s výjimkou typu parametru y
. Pokud x
a y
jsou rovny, vrácená hodnota se y
převede na návratový typ.
Vzhledem k tomu, že C++ umožňuje přetížení, pokud zahrnete <cmath>
, můžete volat přetížení nextafter
a nexttoward
návrat float
a long double
typy. V programu jazyka C, pokud k volání této funkce nepoužíváte <tgmath.h>
makro, nextafter
a nexttoward
vždy se vraťte double
.
Pokud použijete nextafter
makro nebo nexttoward
z <tgmath.h>
něho , typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Funkce _nextafter
a _nextafterf
funkce jsou specifické pro Microsoft. Funkce _nextafterf
je k dispozici pouze při kompilaci pro platformu x64.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Povinná hlavička (C) | Povinná hlavička (C++) |
---|---|---|
nextafter , nextafterf , nextafterl , _nextafterf , nexttoward , , nexttowardf nexttowardl |
<math.h> |
<math.h> nebo <cmath> |
_nextafter |
<float.h> |
<float.h> nebo <cfloat> |
nextafter makro, nexttoward makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Podpora pro matematiku a plovoucí desetinou čárku
isnan
, , _isnan
_isnanf