Man page - pow(3)

Packages contains this manual

Available languages:

en fr pl ja ru de

Manual

pow

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
BOGUES
Bogues anciens (maintenant corrigés)
VOIR AUSSI
TRADUCTION

NOM

pow, powf, powl — Fonctions puissance

BIBLIOTHÈQUE

BibliothĂšque de math ( libm , -lm )

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

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :

powf (), powl () :
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

Ces fonctions renvoient la valeur de x élevée à la puissance y .

VALEUR RENVOYÉE

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

En cas de dĂ©passement pour le rĂ©sultat, une erreur d’intervalle se produit et les fonctions renvoient respectivement HUGE_VAL , HUGE_VALF ou HUGE_VALL , 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.0 est renvoyĂ© avec le signe appropriĂ©.

Si x vaut +0 ou -0 et y est un 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é.

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 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 est une valeur finie négative et y un nombre fini non entier, une erreur de domaine se produit et un NaN est renvoyé.

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.

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

ERREURS

Voir math_error (7) pour savoir comment dĂ©terminer si une erreur s’est produite lors de l’appel d’une 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 de virgule flottante non valable ( 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 divisée 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 par le haut de virgule flottante ( FE_OVERFLOW ) est levée.

Erreur d’intervalle : soupassement (« underflow ») du rĂ©sultat

errno prend la valeur ERANGE . Une exception de dépassement par le bas de virgule flottante ( FE_UNDERFLOW ) est levée.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3873715-1.png

STANDARDS

C11, POSIX.1-2008.

HISTORIQUE

C99, POSIX.1-2001.

La variante renvoyant double est également conforme à SVr4, 4.3BSD et C89.

BOGUES

Bogues anciens (maintenant corrigés)

Avant la glibc 2.28, sur certaines architectures (par exemple x86-64), pow () peut ĂȘtre plus de 10 000 fois plus lent pour certaines entrĂ©es (rares) que pour d’autres peu diffĂ©rentes. Cela ne concerne que pow (), mais ni powf (), ni powl (). Ce problĂšme a Ă©tĂ© corrigĂ© dans la glibc 2.28.

Un certain nombre de bogues dans l’implĂ©mentation de pow dans la glibc ont Ă©tĂ© corrigĂ©s dans la glibc 2.16.

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 glibc 2.10, le comportement de la glibc est corrigé.

Dans la glibc 2.3.2 et antĂ©rieures, quand un dĂ©passement ou un soupassement (« underflow ») se produit, pow () gĂ©nĂšre Ă  tort une exception de virgule flottante non valable ( FE_INVALID ) en plus de l’exception de dĂ©passement par le haut ou par le bas.

VOIR AUSSI

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

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .