1. NOM

fmod, fmodf, fmodl - Fonction modulo réel

2. SYNOPSIS

 
Sélectionnez
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);



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

fmodf(), fmodl() :
    _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99

3. DESCRIPTION

La fonction fmod() calcule 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.

4. 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 ou y est un NaN, 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é.

5. ERREURS

Consultez math_error(7) pour savoir comment déterminer qu'une erreur est survenue lors de l'appel 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 des 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 indiquant une virgule flottante incorrecte (FE_INVALID) est levée.

6. CONFORMITÉ

C99, POSIX.1-2001. La variante renvoyant un double est également conforme à SVr4, BSD 4.3 et C89.

7. BOGUES

Avant la version 2.10, l'implémentation de la glibc ne définissait pas errno à EDOM lorsqu'une erreur de domaine pour un x infini.

8. VOIR AUSSI

9. COLOPHON

Cette page fait partie de la publication 3.52 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/.

10. 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). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

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