nextafter
, nextafterf
, nextafterl
, _nextafter
, _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 , 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 mathématique et à virgule flottante
isnan
, _isnan
, _isnanf
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour