1. NOM

scalbn, scalbnf, scalbnl, scalbln, scalblnf, scalblnl - Multiplier un nombre en virgule flottante par un entier puissance d'une base

2. SYNOPSIS

#include <math.h>

double scalbln(double x, long int exp);
float scalblnf(float x, long int exp);
long double scalblnl(long double x, long int exp);

double scalbn(double x, int exp);
float scalbnf(float x, int exp);
long double scalbnl(long double x, int 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)) :

scalbln(), scalblnf(), scalblnl() : _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99
scalbn(), scalbnf(), scalbnl() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
ou cc -std=c99

3. DESCRIPTION

Ces fonctions multiplient leur premier paramètre x par FLT_RADIX (probablement 2) à la puissance exp, c'est-à-dire :

 
Sélectionnez
    x * FLT_RADIX ** exp

La définition de FLT_RADIX peut être obtenue en incluant <float.h>.

4. VALEUR RENVOYÉE

En cas de réussite, ces fonctions renvoient x * FLT_RADIX ** exp. Si x est un NaN, la valeur renvoyée est un NaN. Si x est une valeur infinie positive (resp. négative), une valeur infinie positive est renvoyée (resp. positive). Si x vaut +0 (resp. -0), +0 (resp. -0) 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.

5. 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 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.

6. VERSIONS

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

7. ATTRIBUTS

7.1. Multithreading (voir pthreads(7))

Les fonctions scalbn(), scalbnf(), scalbnl(), scalbln(), scalblnf() et scalblnl() sont sûres dans un contexte multithread.

8. CONFORMITÉ

C99, POSIX.1-2001.

9. NOTES

Ces fonctions diffèrent des fonctions obsolètes décrites dans scalb(3) par le type de leur deuxième paramètre. Les fonctions décrites sur cette page ont un deuxième paramètre de type entier, tandis que celle de scalb(3) ont un deuxième paramètre de type double. Si FLT_RADIX vaut 2 (ce qui est le cas en général), alors scalbn() est équivalent à ldexp(3).

10. VOIR AUSSI

ldexp(3), scalb(3)

11. COLOPHON

Cette page fait partie de la publication 3.52 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/.

12. 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/> (2008).

Veuillez signaler toute erreur de traduction en écrivant à < >.

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