Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       pow, powf, powl - Fonction puissance

SYNOPSIS

       #include <math.h>

       double pow(double x, double y);
       float powf(float x, float y);
       long double powl(long double x, long double y);

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

       powf(), powl() :
           _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L
           ou cc -std=c99

DESCRIPTION

       La fonction pow() renvoie la valeur de x élevé à la puissance y.

VALEUR RENVOYÉE

       En cas de réussite, ces fonctions renvoient la valeur de x élevée à la puissance y.

       Si  x est une valeur finie négative et y une nombre fini non-entier, 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  bon  signe
       mathématique.

       En cas de soupassement (« underflow ») pour  le  résultat,  et  qu'il  ne  peut  pas  être
       représenté, une erreur d'intervalle se produit et 0 est renvoyé.

       Sauf dans les cas spécifiés ci-dessous, si x ou y est un NaN, le résultat est un NaN.

       Si x vaut +1, le résultat est 1,0 (même si y est un NaN).

       Si y est nul, le résultat est 1,0 (même si x est un NaN).

       Si  x  vaut  +0  (resp.  -0)  et y est un nombre entier impair positif, le résultat est +0
       (resp. -0).

       Si x est nul et y positif et n'est pas un nombre entier impair, le résultat est +0.

       Si x vaut -1 et y est une valeur infinie positive ou négative, le résultat est 1,0.

       Si la valeur absolue de x est inférieure à 1 et y est  une  valeur  infinie  négative,  le
       résultat est l'infini positif.

       Si  la  valeur  absolue  de  x est supérieure à 1 et y est une valeur infinie négative, le
       résultat est +0.

       Si la valeur absolue de x est inférieure à 1 et y est  une  valeur  infinie  positive,  le
       résultat est +0.

       Si  la  valeur  absolue  de  x est supérieure à 1 et y est une valeur infinie positive, le
       résultat est l'infini positif.

       Si x est une valeur infinie négative et y est un nombre entier impair négatif, le résultat
       est -0.

       Si  x  est  une  valeur  infinie  négative  et y est négatif et n'est pas un nombre entier
       impair, le résultat est +0.

       Si x est une valeur infinie négative et y est un nombre entier impair positif, le résultat
       est l'infini négatif.

       Si  x  est  une  valeur  infinie  négative  et y est positif et n'est pas un nombre entier
       impair, le résultat est l'infini positif.

       Si x est une valeur infinie positive et y est négatif, le résultat est +0.

       Si x est une valeur infinie positive et y est positif, le résultat est l'infini positif.

       Si x vaut +0 ou -0 et y est une nombre entier  impair  négatif,  une  erreur  de  pôle  se
       produit et HUGE_VAL, HUGE_VALF ou HUGE_VALL est renvoyé avec le même signe que x.

       Si x vaut +0 ou -0 et y est négatif et pas un nombre impair, une erreur de pôle se produit
       et +HUGE_VAL, +HUGE_VALF ou +HUGE_VALL 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 négatif et y est un nombre fini non entier
              errno  prend  la  valeur  EDOM.  Une  exception  indiquant  une  virgule  flottante
              incorrecte (FE_INVALID) est levée.

       Erreur de pôle : x est nul et y est négatif
              errno est configuré à la valeur ERANGE (mais consultez la section des BOGUES).  Une
              exception de virgule flottante division par zéro (FE_DIVBYZERO) est déclenchée.

       Erreur d'intervalle : dépassement pour le résultat
              errno  est  configurée  à ERANGE. Une exception de dépassement en virgule flottante
              (FE_OVERFLOW) est levée.

       Erreur d'intervalle : soupassement (« underflow ») du résultat
              errno prend la valeur ERANGE. Une exception en virgule  flottante  de  soupassement
              (FE_UNDERFLOW) est levée.

CONFORMITÉ

       C99,  POSIX.1-2001. La variante renvoyant un double est également conforme à SVr4, BSD 4.3
       et C89.

BOGUES

       Dans la glibc 2.9 et les versions antérieures, si une erreur de pôle survient,  errno  est
       positionné  à  EDOM  à la place de la valeur ERANGE spécifiée par POSIX. Depuis la version
       2.10, le comportement de la glibc est corrigé.

       Si x est négatif, alors des valeurs négatives ou positives importantes de y provoquent  un
       NaN  comme  résultat de la fonction, avec errno prenant la valeur EDOM et une exception de
       virgule flottante incorrecte (FE_INVALID). Par exemple, avec pow(), on peut rencontrer  ce
       comportement quand la valeur absolue de y est supérieure à environ 9,223373e18.

       Dans  la  version  2.3.2  et  les  suivantes  de  la  glibc,  quand  un  dépassement ou un
       soupassement (« underflow ») se produit, pow() génère à  tort  une  exception  de  virgule
       flottante   incorrecte   (FE_INVALID)   en  plus  de  l'exception  de  dépassement  ou  de
       soupassement.

VOIR AUSSI

       cbrt(3), cpow(3), sqrt(3)

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

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Nicolas  François  et  l'équipe francophone de
       traduction de Debian (2006-2009).

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

                                        12 septembre 2010                                  POW(3)