REMQUO(3)

NOM
remquo, remquof, remquol - Reste et partie d'un quotient

SYNOPSIS
#include <math.h>

double remquo(double x, double y, int *quo);
float remquof(float x, float y, int *quo);
long double remquol(long double x, long double y, int *quo);

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

remquo(), remquof(), remquol() :
    _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
    ou cc -std=c99

DESCRIPTION
Ces fonctions calculent le reste et la partie du quotient de la division de x par y. Quelques bits du quotient sont stockés via le pointeur quo. Le reste est renvoyé comme la valeur de retour de la fonction. La valeur du reste est la même que si elle avait été calculée par la fonction remainder(3). La valeur stockée via le pointeur quo a le signe de x / y et est d'accord avec le quotient sur au moins les 3 bits de poids faible. Par exemple, remquo(29.0, 3.0) renvoie -1.0 et devrait stocker 2. Veuillez noter que le quotient actuel peut ne pas tenir sur un entier.

VALEUR RENVOYÉE
En cas de réussite, ces fonctions renvoient la même valeur que les fonctions analogues décrites dans remainder(3). Si x ou y est un NaN, un NaN est renvoyé. Si x est infini et y n'est pas un NaN, une erreur de domaine se produit et un NaN est renvoyé. Si y est nul et x n'est pas un NaN, une erreur de domaine se produit et un NaN est renvoyé.

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 un infini ou y est nul et l'autre paramètre n'est pas un NaN
    Une exception indiquant une virgule flottante incorrecte (FE_INVALID) est levée.

Ces fonctions ne positionnent pas errno.

VERSIONS
Ces fonctions ont été introduites dans la glibc dans sa version 2.1.

CONFORMITÉ
C99, POSIX.1-2001.

VOIR AUSSI
fmod(3), logb(3), remainder(3)

COLOPHON
Cette page fait partie de la publication 3.40 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://perkamon.alioth.debian.org/>.

Alain Portal <URL:http://manpagesfr.free.fr/> (2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

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