Sous-routine drem

Objectif

Calcule le reste de l'IEEE tel que défini dans la norme IEEE Floating-Point Standard.

Bibliothèques

IEEE Math Library (libm.a) ou System V Math Library (libmsaa.a)

Syntaxe

#include <math.h>
double drem ( x,  y)
double x, y;

Descriptif

La sous-routine drem calcule le reste r égal à x moins n à la puissance x multipliée par y (r = x-n * y),où le paramètre n est l'entier le plus proche de la valeur exacte de x divisée par y (x/y). Si |n -x/y| = 1/2,le paramètre n est une valeur paire. Par conséquent, le reste est calculé exactement, et la valeur absolue de r(|r|)est inférieur ou égal à la valeur absolue de y divisée par 2(|y|/2).

Le reste IEEE diffère de la sous-routine fmod en ce sens que le reste IEEE renvoie toujours un paramètre r tel que|r|Inférieur ou égal à|y|/2, alors que FMOD renvoie un r tel que |r|Inférieur ou égal à|y|. Le reste de l'IEEE est utile pour la réduction d'arguments pour les fonctions transcendantes.

Remarque: Compiler toutes les routines qui utilisent des sous-routines de la bibliothèque libm.a avec l'indicateur -lm . Par exemple, compilez le fichier drem.c :
cc drem.c -lm
Remarque: pour le nouveau développement, la sous-routine Reste est l'interface préférée.

Paramètres

Article Descriptif
x Indique une valeur en virgule flottante à double précision.
y Indique une valeur en virgule flottante à double précision.

Valeurs renvoyées

La sous-routine drem renvoie une valeur NaNQ pour(x, 0)et(+/-INF, y).