table of contents
POW(3) | Manuel du programmeur Linux | POW(3) |
NOM¶
pow, powf, powl - Fonction puissanceSYNOPSIS¶
#include <math.h> double pow(double x, double y);Effectuez l'édition des liens avec l'option -lm.float powf(float x, float y);long double powl(long double x, long double y);
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 |