scalbl(3) Multiplier un nombre en virgule flottante par un

Other Alias

scalb, scalbf

SYNOPSIS

#include <math.h>

double scalb(double x, double exp);
float scalbf(float x, float exp);
long double scalbl(long double x, long double exp);

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

scalb() :

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

scalbf(), scalbl() :
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600

DESCRIPTION

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 (resp. négative) et exp n'est pas une valeur infinie négative, l'infini positif (resp. négatif) est renvoyé.

Si x vaut +0 (resp. -0) et exp n'est pas l'infini positif, +0 (resp. -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, resp. avec le même signe que x.

En cas de soupassement (« 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 qu'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 indiquant une 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, soupassement (« underflow »)
Une exception en virgule flottante de soupassement (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 recommandant 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.

COLOPHON

Cette page fait partie de la publication 3.65 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

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

Alain Portal <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 à <[email protected]> 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> ».