Scroll to navigation

rint(3) Library Functions Manual rint(3)

NOM

nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - Arrondir à l'entier le plus proche

BIBLIOTHÈQUE

Bibliothèque de math (libm, -lm)

SYNOPSIS

#include <math.h>
double nearbyint(double x);
float nearbyintf(float x);
long double nearbyintl(long double x);
double rint(double x);
float rintf(float x);
long double rintl(long double x);

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

nearbyint(), nearbyintf(), nearbyintl() :


_POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE

rint() :


_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

rintf(), rintl() :


_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

Les fonctions nearbyint(), nearbyintf() et nearbyintl() arrondissent leur paramètre à l'entier le plus proche, dans un format en virgule flottante, en utilisant la direction d'approximation actuelle (consultez fesetround(3)), et sans déclencher l'exception inexact. Quand la direction d'approximation actuelle est vers le plus proche, ces fonctions arrondissent les cas à mi-chemin vers l'entier pair en accord avec la norme IEEE-754.

Les fonctions rint(), rintf() et rintl() font la même chose, mais peuvent déclencher l'exception inexact (FE_INEXACT, vérifiable par fetestexcept(3)) lorsque le résultat diffère du paramètre.

VALEUR RENVOYÉE

Ces fonctions renvoient la valeur entière arrondie.

Si x est un nombre entier, +0, -0, NaN ou une valeur infinie, la valeur x elle-même est renvoyée.

ERREURS

Aucune erreur ne se produit. POSIX.1-2001 documente une série d'erreurs pour les dépassements, mais consultez la section NOTES.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
nearbyint(), nearbyintf(), nearbyintl(), rint(), rintf(), rintl() Sécurité des threads MT-Safe

STANDARDS

C11, POSIX.1-2008.

HISTORIQUE

C99, POSIX.1-2001.

NOTES

Les spécifications SUSv2 et POSIX.1-2001 contiennent un passage sur les dépassements (qui peuvent remplir errno avec ERANGE ou déclencher une exception FE_OVERFLOW). En pratique, aucun dépassement ne peut se produire sur les machines actuelles, ce qui rend inutile cette gestion d'erreur. Plus précisément, le dépassement ne peut se produire que si la valeur maximale de l'exposant est plus petite que le nombre de bits de la mantisse. Pour les nombres en virgule flottante 32 bits et 64 bits obéissant à la norme IEEE-754, la valeur maximale de l'exposant est 127 (resp. 1023) et le nombre de bits de la mantisse est 24 (resp. 53).

Si vous voulez stocker la valeur arrondie dans un type entier, vous devriez probablement utiliser une des fonctions décrites dans lrint(3) à la place.

VOIR AUSSI

ceil(3), floor(3), lrint(3), round(3), trunc(3)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

20 juillet 2023 Pages du manuel de Linux 6.05.01