nextafter(3) Library Functions Manual nextafter(3) NOM nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - Manipulation de nombres en virgule flottante BIBLIOTHEQUE Bibliotheque de math (libm, -lm) SYNOPSIS #include double nextafter(double x, double y); float nextafterf(float x, float y); long double nextafterl(long double x, long double y); double nexttoward(double x, long double y); float nexttowardf(float x, long double y); long double nexttowardl(long double x, long double y); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : nextafter() : _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500 || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE nextafterf(), nextafterl() : _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE nexttoward(), nexttowardf(), nexttowardl() : _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L DESCRIPTION Les fonctions nextafter(), nextafterf() et nextafterl() renvoient la valeur en virgule flottante pouvant etre representee suivant x dans la direction de y. Si y est inferieur a x, ces fonctions renverront la valeur la plus elevee pouvant etre representee inferieure a x. Si x est egal a y, la fonction renvoie y. Les fonctions nexttoward(), nexttowardf() et nexttowardl() realisent le meme travail que les fonctions nextafter() correspondantes sauf qu'elles ont un second argument de type long double. VALEUR RENVOYEE En cas de reussite, ces fonctions renvoient la valeur en virgule flottante suivante pouvant etre representee apres x dans la direction de y. Si x est egal a y, alors y (converti dans le meme type que x) est renvoye. Si x ou y n'est pas un nombre, un NaN est renvoye. Si x est une valeur finie et que le resultat produit un depassement, une erreur d'intervalle est produite et les fonctions renvoient HUGE_VAL, HUGE_VALF ou HUGE_VALL, resp. avec le bon signe mathematique. Si x n'est pas egal a y et que le resultat correct de la fonction aurait du etre denormalise (<< subnormal >>), zero, ou en cas de soupassement (<< underflow >>), alors une erreur d'intervalle est produite et la valeur renvoyee est soit la valeur correcte (si elle peut etre representee), soit 0. ERREURS Voir math_error(7) pour savoir comment determiner si une erreur s'est produite lors de l'appel d'une de ces fonctions. Les erreurs suivantes peuvent se produire : Erreur de plage : debordement du resultat errno est configuree a ERANGE. Une exception de depassement par le haut de virgule flottante (FE_OVERFLOW) est levee. Erreur d'intervalle : le resultat est denormalise ou un soupassement se produit. errno prend la valeur ERANGE. Une exception de depassement par le bas de virgule flottante (FE_UNDERFLOW) est levee. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |nextafter(), nextafterf(), | Securite des threads | MT-Safe | |nextafterl(), nexttoward(), | | | |nexttowardf(), nexttowardl() | | | +---------------------------------+--------------------------+---------+ STANDARDS C11, POSIX.1-2008. Cette fonction est definie dans IEC 559 (et l'annexe avec les fonctions recommandees de IEEE 754/IEEE 854). HISTORIQUE C99, POSIX.1-2001. BOGUES Dans la glibc 2.5 et anterieures, ces fonction ne levent pas d'exception de virgule flottante de soupassement (FE_UNDERFLOW) quand un soupassement se produit. Avant la glibc 2.23, ces fonctions n'affectaient pas de valeur a errno. VOIR AUSSI nearbyint(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 nextafter(3)