fmod(3) Library Functions Manual fmod(3) NOM fmod, fmodf, fmodl - Fonction modulo reel BIBLIOTHEQUE Bibliotheque de math (libm, -lm) SYNOPSIS #include double fmod(double x, double y); float fmodf(float x, float y); long double fmodl(long double x, long double y); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : fmodf(), fmodl() : _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE DESCRIPTION Ces fonctions calculent le reste, en virgule flottante, de la division de x par y. La valeur renvoyee est x - n * y, ou n est le quotient x / y, arrondi a l'entier inferieur en valeur absolue. Pour obtenir le modulo, plus precisement, le plus petit residue positif, vous devez ajuster le resultat de fmod de cette maniere : z = fmod(x, y); if (z < 0) z += y; Une autre maniere pour exprimer cela estfmod(fmod(x, y) + y, y), mais le second fmod() coute habituellement beaucoup plus que la premiere branche. VALEUR RENVOYEE En cas de reussite, ces fonctions renvoient la valeur x - n*y, pour un entier n tel que la valeur de retour a le meme signe que x et une norme inferieure a la norme de y. Si x ou y n'est pas un nombre, un NaN est renvoye. Si x est une valeur infinie, une erreur de domaine est produite et un NaN est renvoye. Si y vaut zero, une erreur de domaine est produite et un NaN est renvoye. Si x vaut +0 (resp. -0), et y n'est pas nul, +0 (resp. -0) est renvoye. 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 domaine : x est une valeur infinie errno prend la valeur EDOM (mais consultez la section BOGUES). Une exception indiquant une virgule flottante incorrecte (FE_INVALID) est levee. Erreur de domaine : y est nul. errno prend la valeur EDOM. Une exception de virgule flottante non valable (FE_INVALID) est levee. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |fmod(), fmodf(), fmodl() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS C11, POSIX.1-2008. HISTORIQUE C99, POSIX.1-2001. La variante renvoyant double est egalement conforme a SVr4, 4.3BSD et C89. BOGUES Avant la glibc 2.10, l'implementation de la glibc ne definissait pas errno a EDOM lorsqu'une erreur de domaine survenait pour un x infini. EXEMPLES L'appel fmod(372, 360) renvoie 348. L'appel fmod(-372, 360) renvoie -12. L'appel fmod(-372, -360) renvoie aussi -12. VOIR AUSSI remainder(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.8 2 mai 2024 fmod(3)