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.

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 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).
Interface Attribut Valeur
fmod(), fmodf(), fmodl() Sécurité des threads MT-Safe
 

STANDARDS

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

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.

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 <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]>, Cédric Boutillier <[email protected]> et Jean-Pierre Giraud <[email protected]>
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 à [email protected]

Recommended readings

Pages related to fmodl you should read also: