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