Loading

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 (voir
   feature_test_macros(7)) :

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

       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,
       respectivement, avec le bon signe mathématique.

       En  cas  de souspassement (« 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 (respectivement, -0) et y  est  un  nombre  entier  impair
       positif, le résultat est +0 (respectivement, -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 qi 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   BOGUES).   Une   exception   de   virgule    flottante
              divide-by-zero (FE_DIVBYZERO).

       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 : souspassement (« underflow ») du résultat
              errno prend la valeur ERANGE. Une exception en virgule flottante
              de souspassement (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

       Pour une erreur de pôle, errno est configuré à la valeur EDOM ; POSIX.1
       indique qu’elle devrait être configurée à ERANGE.

       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 flotante 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 suivante de la glibc, quand un dépassement
       ou un souspassement (« underflow ») se produit, pow() génère à tord une
       exception de virgule  flottante  incorrecte  (FE_INVALID)  en  plus  de
       l’exception de dépassement ou de souspassement.

VOIR AUSSI

       cbrt(3), cpow(3), sqrt(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  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’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> ».

                                 10 août 2008