nextafter
, nextafterf
, , _nextafter
nextafterl
, _nextafterf
, nexttoward
, , nexttowardf
,nexttowardl
Retourne la valeur à virgule flottante représentable suivante.
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> */
Paramètres
x
Valeur à virgule flottante de départ.
y
Valeur à virgule flottante d’arrivée.
Valeur retournée
Retourne la valeur à virgule flottante représentable suivante du type de retour après x
dans la direction de y
. Si x
et y
sont égaux, la fonction retourne y
, convertie en type de retour, sans exception déclenchée. Si x
ce n’est pas égal à y
, et que le résultat est un dénormal ou zéro, les FE_UNDERFLOW
FE_INEXACT
états d’exception à virgule flottante sont définis et le résultat correct est retourné. Si x
ou y
est un NaN, la valeur de retour est l’un des NaN d’entrée. S’il x
est fini et que le résultat est infini ou ne peut pas être représenté dans le type, un infini correctement signé ou NAN est retourné, les FE_INEXACT
FE_OVERFLOW
états d’exception à virgule flottante sont définis et errno
sont définis sur ERANGE
.
Notes
Les familles des fonctions nextafter
et nexttoward
sont équivalentes, à l’exception du type de paramètre de y
. Si x
et y
sont égaux, la valeur retournée est y
convertie dans le type de retour.
Étant donné que C++ autorise la surcharge, si vous incluez<cmath>
, vous pouvez appeler des surcharges de nextafter
retour et nexttoward
long double
de typesfloat
. Dans un programme C, sauf si vous utilisez la <tgmath.h>
macro pour appeler cette fonction, nextafter
et nexttoward
toujours retourner double
.
Si vous utilisez le ou nexttoward
la nextafter
macro à partir de <tgmath.h>
, le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.
Les _nextafter
fonctions et _nextafterf
les fonctions sont spécifiques à Microsoft. La fonction _nextafterf
est n’est disponible que quand elle est compilée pour x64.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis (C) | En-tête requis (C++) |
---|---|---|
nextafter , nextafterf , , _nextafterf nextafterl , nexttoward , , nexttowardf ,nexttowardl |
<math.h> |
<math.h> ou <cmath> |
_nextafter |
<float.h> |
<float.h> ou <cfloat> |
nextafter macro, nexttoward macro |
<tgmath.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Prise en charge des fonctions mathématiques et à virgule flottante
isnan
, , _isnan
_isnanf