Sdílet prostřednictvím


nextafter, nextafterf, nextafterl, _nextafter, _nextafterf, 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 ya 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_OVERFLOWFE_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 nexttowardz <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