NOM
scalb, scalbf, scalbl - Multiplier un nombre en virgule flottante par
un entier puissance d’une base (OBSOLÈTE)
SYNOPSIS
#include <math.h>
double scalb(double x, double exp);
float scalbf(float x, double exp);
long double scalbl(long double x, double exp);
Effectuez l’édition des liens avec l’option -lm.
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
scalb() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
scalbf(), scalbl() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE>= 600
Ces fonctions multiplient leur premier paramètre x par FLT_RADIX
(probablement 2) à la puissance exp, c’est-à-dire :
x * FLT_RADIX ** exp
La définition de FLT_RADIX peut être obtenue en incluant <float.h>.
VALEUR RENVOYÉE
En cas de réussite, ces fonctions renvoient x * FLT_RADIX ** exp.
Si x ou exp est un NaN, un NaN est renvoyé.
Si x est une valeur infinie positive (respectivement, négative) et exp
n’est pas une valeur infinie négative, l’infini positif
(respectivement, négatif) est renvoyé.
Si x vaut +0 (respectivement, -0) et exp n’est pas l’infini positif, +0
(respectivement, -0) est renvoyé.
Si x est nul et exp est l’infini positif, une erreur de domaine se
produit et un NaN est renvoyé.
Si x est infini et exp est l’infini négatif, une erreur de domaine se
produit et un NaN est renvoyé.
En cas de dépassement pour le résultat, une erreur d’intervalle se
produit et les fonctions renvoient HUGE_VAL, HUGE_VALF ou HUGE_VALL,
respectivement, avec le même signe que x.
En cas de souspassement (« underflow »), une erreur d’intervalle se
produit et les fonctions renvoient zéro avec le même signe que x.
ERREURS
Consultez math_error(7) pour savoir comment déterminer qi une erreur
est survenue lors de l’appel de ces fonctions.
Les erreurs suivantes peuvent se produire :
Erreur de domaine : x est nul et exp est l’infini positif, ou x est
l’infini positif et exp est l’infini négatif et l’autre paramètre n’est
pas un NaN.
Une exception de virgule flottante incorrecte (FE_INVALID) est
levée.
Erreur d’intervalle, dépassement
Une exception en virgule flottante de dépassement (FE_OVERFLOW)
est levée.
Erreur d’intervalle, souspassement (« underflow »)
Une exception en virgule flottante de souspassement
(FE_UNDERFLOW) est levée.
Ces fonctions ne positionnent pas errno.
CONFORMITÉ
scalb() est spécifiée dans POSIX.1-2001, mais marquée comme étant
obsolète. POSIX.1-2008 supprime la spécification de scalb(), en
recommendant d’utiliser scalbln(3), scalblnf(3) ou scalblnl(3) à la
place. La fonction scalb() provient de BSD 4.3.
scalbf() et scalbl() ne sont pas standard ; scalbf() est cependant
présent dans certains autres système.
VOIR AUSSI
ldexp(3), scalbln(3)
COLOPHON
Cette page fait partie de la publication 3.23 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/.
TRADUCTION
Cette page de manuel a été traduite par Alain Portal <aportal AT
univ-montp2 DOT fr> en 2006, et mise à disposition sur
http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Nicolas François
<nicolas.francois@centraliens.net> et l’équipe francophone de
traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».
15 mars 2009 SCALB(3)