RINT(3)

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

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);

Effectuez l'édition des liens avec l'option -lm.

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

nearbyint(), nearbyintf(), nearbyintl() :
    _XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE
    ou cc -std=c99
rint() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    ou cc -std=c99
rintf(), rintl() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    ou cc -std=c99

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.

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

  Multithreading (voir pthreads(7))
Les fonctions nearbyint(), nearbyintf(), nearbyintl(), rint(), rintf() et rintl() sont sûres dans un contexte multithread.

CONFORMITÉ
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 128 (resp. 1024) 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)

COLOPHON
Cette page fait partie de la publication 3.70 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».