Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 later
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 later
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_UNDERFLOWFE_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_OVERFLOWFE_INEXACT é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 nexttowardfloat de typeslong double. 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 nextafter la nexttoward 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, , nextafterl_nextafterf, 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