remainder(3) Library Functions Manual remainder(3) NOM drem, dremf, dreml, remainder, remainderf, remainderl - Fonction reste en virgule flottante BIBLIOTHEQUE Bibliotheque de math (libm, -lm) SYNOPSIS #include double remainder(double x, double y); float remainderf(float x, float y); long double remainderl(long double x, long double y); /* Synonymes obsoletes */ [[obsolete]] double drem(double x, double y); [[obsolete]] float dremf(float x, float y); [[obsolete]] long double dreml(long double x, long double y); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : remainder() : _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500 || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE remainderf(), remainderl() : _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE drem(), dremf(), dreml() : /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE DESCRIPTION These functions compute the remainder of dividing x by y. The return value is x-n*y, where n is the value x / y, rounded to the nearest integer. If the absolute value of x-n*y is 0.5, n is chosen to be even. Ces fonctions ne sont pas affectees par le mode d'arrondi en cours (voir fenv(3)). La fonction drem() fait precisement la meme chose. VALEUR RENVOYEE On success, these functions return the floating-point remainder, x-n*y. If the return value is 0, it has the sign of x. Si x n'est pas un nombre, un NaN est renvoye. Si x est infini et y n'est pas un NaN, une erreur de domaine se produit et un NaN est renvoye. Si y est nul et x n'est pas un NaN, une erreur de domaine se produit et un NaN 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 : Domain error: x is an infinity and y is not a NaN errno prend la valeur EDOM (mais consultez la section BOGUES). Une exception indiquant une virgule flottante incorrecte (FE_INVALID) est levee. Ces fonctions ne positionnent pas errno dans ce cas. Domain error: y is zero 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 | +---------------------------------+--------------------------+---------+ |drem(), dremf(), dreml(), | Securite des threads | MT-Safe | |remainder(), remainderf(), | | | |remainderl() | | | +---------------------------------+--------------------------+---------+ NORMES remainder() remainderf() remainder() C11, POSIX.1-2008. drem() dremf() dreml() Aucun. HISTORIQUE remainder() remainderf() remainder() C99, POSIX.1-2001. drem() 4.3BSD. dremf() dreml() Tru64, glibc2. BOGUES Avant la glibc 2.15, l'appel remainder(nan(""), 0); renvoie un NaN, comme attendu, mais cause a tort une erreur de domaine. Depuis la glibc 2.15, un NaN silencieux (c'est-a-dire pas d'erreur de domaine) est renvoye. Avant la glibc 2.15, errno n'etait pas defini a EDOM pour une erreur de domaine qui se produit quand x est infini et y n'est pas un NaN. EXEMPLES L'appel << remainder(29.0, 3.0) >> renvoie -1. VOIR AUSSI div(3), fmod(3), remquo(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.18 8 fevrier 2026 remainder(3)