Provided by: manpages-fr-dev_4.27.0-1_all bug

NOM

       fmod, fmodf, fmodl - Fonction modulo réel

BIBLIOTHÈQUE

       Bibliothèque de math (libm, -lm)

SYNOPSIS

       #include <math.h>

       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 fonctionnalités 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 renvoyée est
       x - n * y, où n est le quotient x / y, arrondi à l'entier inférieur en valeur absolue.

       Pour  obtenir  le modulo, plus précisément, le plus petit résidué positif, vous devez ajuster le résultat
       de fmod de cette manière :

           z = fmod(x, y);
           if (z < 0)
                z += y;

       Une autre manière  pour  exprimer  cela  estfmod(fmod(x,  y)  +  y,  y),  mais  le  second  fmod()  coûte
       habituellement beaucoup plus que la première branche.

VALEUR RENVOYÉE

       En  cas  de  réussite,  ces  fonctions renvoient la valeur x - n*y, pour un entier n tel que la valeur de
       retour a le même signe que x et une norme inférieure à la norme de y.

       Si x n’est pas un nombre, un NaN est renvoyé.

       Si x est une valeur infinie, une erreur de domaine est produite et un NaN est renvoyé.

       Si y vaut zéro, une erreur de domaine est produite et un NaN est renvoyé.

       Si x vaut +0 (resp. -0), et y n'est pas nul, +0 (resp. -0) est renvoyé.

ERREURS

       Voir math_error(7) pour savoir comment déterminer 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 levée.

       Erreur de domaine : y est nul.
              errno prend la valeur EDOM. Une exception de virgule flottante non valable (FE_INVALID) est levée.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).
       ┌──────────────────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │ InterfaceAttributValeur  │
       ├──────────────────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │ fmod(), fmodf(), fmodl()                                             │ Sécurité des threads │ MT-Safe │
       └──────────────────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       C11, POSIX.1-2008.

HISTORIQUE

       C99, POSIX.1-2001.

       La variante renvoyant double est également conforme à SVr4, 4.3BSD et C89.

BOGUES

       Avant  la  glibc  2.10, l'implémentation de la glibc ne définissait pas errno à 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  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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                            fmod(3)