Available in

(3) (3)/de (3)/fr (3)/ja

Contents

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

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, 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 [AT] centraliens.net> et l’équipe francophone de traduction de Debian.

Veuillez signaler toute erreur de traduction en écrivant à <debian−l10n−french [AT] lists.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> ».

COMMENTS

blog comments powered by Disqus