.\" -*- coding: UTF-8 -*- .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu) .\" Modified 1995-08-14 by Arnt Gulbrandsen .\" Modified 2002-07-27 by Walter Harms .\" (walter.harms@informatik.uni-oldenburg.de) .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH POW 3 "9 juin 2020" "" "Manuel du programmeur Linux" .SH NOM pow, powf, powl \- Fonctions puissance .SH SYNOPSIS .nf \fB#include \fP .PP \fBdouble pow(double \fP\fIx\fP\fB, double \fP\fIy\fP\fB);\fP \fBfloat powf(float \fP\fIx\fP\fB, float \fP\fIy\fP\fB);\fP \fBlong double powl(long double \fP\fIx\fP\fB, long double \fP\fIy\fP\fB);\fP .fi .PP Éditer les liens avec \fI\-lm\fP. .PP .RS -4 Exigences de macros de test de fonctionnalités pour la glibc (consulter \fBfeature_test_macros\fP(7))\ : .RE .PP .ad l \fBpowf\fP(), \fBpowl\fP()\ : .RS 4 _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L || /* Depuis la glibc 2.19 : */ _DEFAULT_SOURCE || /* Versions <= 2.19 de la glibc : */ _BSD_SOURCE || _SVID_SOURCE .RE .ad .SH DESCRIPTION Ces fonctions renvoient la valeur de \fIx\fP élevée à la puissance \fIy\fP. .SH "VALEUR RENVOYÉE" En cas de réussite, ces fonctions renvoient la valeur de \fIx\fP élevée à la puissance \fIy\fP. .PP .\" The domain error is generated at least as far back as glibc 2.4 Si \fIx\fP est une valeur finie négative et \fIy\fP un nombre fini non entier, une erreur de domaine se produit et un NaN est renvoyé. .PP .\" The range error is generated at least as far back as glibc 2.4 En cas de dépassement pour le résultat, une erreur d'intervalle se produit et les fonctions renvoient respectivement \fBHUGE_VAL\fP, \fBHUGE_VALF\fP ou \fBHUGE_VALL\fP, avec le bon signe mathématique. .PP .\" POSIX.1 does not specify the sign of the zero, .\" but http://sources.redhat.com/bugzilla/show_bug.cgi?id=2678 .\" points out that the zero has the wrong sign in some cases. 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 \fB0\fP est renvoyé. .PP Sauf dans les cas spécifiés ci\-dessous, si \fIx\fP ou \fIy\fP est un NaN, le résultat est un NaN. .PP Si \fIx\fP vaut \fB+1\fP, le résultat est 1,0 (même si \fIy\fP est un NaN). .PP Si \fIy\fP est nul, le résultat est 1,0 (même si \fIx\fP est un NaN). .PP Si \fIx\fP vaut \fB+0\fP (resp. \-0) et \fIy\fP est un nombre entier impair positif, le résultat est \fB+0\fP (resp. \-0). .PP Si \fIx\fP est nul et \fIy\fP positif et n'est pas un nombre entier impair, le résultat est \fB+0\fP. .PP Si \fIx\fP vaut \fB\-1\fP et \fIy\fP est une valeur infinie positive ou négative, le résultat est 1,0. .PP Si la valeur absolue de \fIx\fP est inférieure à \fB1\fP et \fIy\fP est une valeur infinie négative, le résultat est l'infini positif. .PP Si la valeur absolue de \fIx\fP est supérieure à \fB1\fP et \fIy\fP est une valeur infinie négative, le résultat est \fB+0\fP. .PP Si la valeur absolue de \fIx\fP est inférieure à \fB1\fP et \fIy\fP est une valeur infinie positive, le résultat est \fB+0\fP. .PP Si la valeur absolue de \fIx\fP est supérieure à \fB1\fP et \fIy\fP est une valeur infinie positive, le résultat est l'infini positif. .PP Si \fIx\fP est une valeur infinie négative et \fIy\fP est un nombre entier impair négatif, le résultat est \fB\-0\fP. .PP Si \fIx\fP est une valeur infinie négative et \fIy\fP est négatif et n'est pas un nombre entier impair, le résultat est \fB+0\fP. .PP Si \fIx\fP est une valeur infinie négative et \fIy\fP est un nombre entier impair positif, le résultat est l'infini négatif. .PP Si \fIx\fP est une valeur infinie négative et \fIy\fP est positif et n'est pas un nombre entier impair, le résultat est l'infini positif. .PP Si \fIx\fP est une valeur infinie positive et \fIy\fP est négatif, le résultat est \fB+0\fP. .PP Si \fIx\fP est une valeur infinie positive et \fIy\fP est positif, le résultat est l'infini positif. .PP Si \fIx\fP vaut \fB+0\fP ou \fB\-0\fP et \fIy\fP est un nombre entier impair négatif, une erreur de pôle se produit et \fBHUGE_VAL\fP, \fBHUGE_VALF\fP ou \fBHUGE_VALL\fP est renvoyé avec le même signe que \fIx\fP. .PP .\" The pole error is generated at least as far back as glibc 2.4 Si \fIx\fP vaut \fB+0\fP ou \fB\-0\fP et \fIy\fP est négatif et pas un nombre impair, une erreur de pôle se produit et +\fBHUGE_VAL\fP, +\fBHUGE_VALF\fP ou +\fBHUGE_VALL\fP est renvoyé. .SH ERREURS .\" FIXME . review status of this error .\" longstanding bug report for glibc: .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=369 .\" For negative x, and -large and +large y, glibc 2.8 gives incorrect .\" results .\" pow(-0.5,-DBL_MAX)=nan .\" EDOM FE_INVALID nan; fail-errno fail-except fail-result; .\" FAIL (expected: range-error-overflow (ERANGE, FE_OVERFLOW); +INF) .\" .\" pow(-1.5,-DBL_MAX)=nan .\" EDOM FE_INVALID nan; fail-errno fail-except fail-result; .\" FAIL (expected: range-error-underflow (ERANGE, FE_UNDERFLOW); +0) .\" .\" pow(-0.5,DBL_MAX)=nan .\" EDOM FE_INVALID nan; fail-errno fail-except fail-result; .\" FAIL (expected: range-error-underflow (ERANGE, FE_UNDERFLOW); +0) .\" .\" pow(-1.5,DBL_MAX)=nan .\" EDOM FE_INVALID nan; fail-errno fail-except fail-result; .\" FAIL (expected: range-error-overflow (ERANGE, FE_OVERFLOW); +INF) Voir \fBmath_error\fP(7) pour savoir comment déterminer si une erreur s'est produite lors de l'appel d'une de ces fonctions. .PP Les erreurs suivantes peuvent se produire\ : .TP Erreur de domaine\ : \fIx\fP est négatif et \fIy\fP est un nombre fini non entier \fIerrno\fP prend la valeur \fBEDOM\fP. Une exception de virgule flottante non valable (\fBFE_INVALID\fP) est levée. .TP Erreur de pôle\ : \fIx\fP est nul et \fIy\fP est négatif \fIerrno\fP est configuré à la valeur \fBERANGE\fP (mais consultez la section BOGUES). Une exception de virgule flottante divisée par zéro (\fBFE_DIVBYZERO\fP) est déclenchée. .TP Erreur d'intervalle\ : dépassement pour le résultat \fIerrno\fP est configurée à \fBERANGE\fP. Une exception de dépassement par le haut de virgule flottante (\fBFE_OVERFLOW\fP) est levée. .TP Erreur d'intervalle\ : soupassement («\ underflow\ ») du résultat \fIerrno\fP prend la valeur \fBERANGE\fP. Une exception de dépassement par le bas de virgule flottante (\fBFE_UNDERFLOW\fP) est levée. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbw21 lb lb l l l. Interface Attribut Valeur T{ \fBpow\fP(), \fBpowf\fP(), \fBpowl\fP() T} Sécurité des threads MT\-Safe .TE .SH CONFORMITÉ C99, POSIX.1\-2001, POSIX.1\-2008. .PP La variante renvoyant \fIdouble\fP est également conforme à SVr4, 4.3BSD et C89. .SH BOGUES .SS "Historical bugs (now fixed)" .\" https://sourceware.org/bugzilla/show_bug.cgi?id=13932 .\" commit c3d466cba1692708a19c6ff829d0386c83a0c6e5 Before glibc 2.28, on some architectures (e.g., x86\-64) \fBpow\fP() may be more than 10,000 times slower for some inputs than for other nearby inputs. This affects only \fBpow\fP(), and not \fBpowf\fP() nor \fBpowl\fP(). This problem was fixed in glibc 2.28. .PP .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=3866 A number of bugs in the glibc implementation of \fBpow\fP() were fixed in glibc version 2.16. .PP .\" .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6776 .\" or possibly 2.9, I haven't found the source code change .\" and I don't have a 2.9 system to test Dans la glibc\ 2.9 et les versions antérieures, si une erreur de pôle survient, \fIerrno\fP est positionné à \fBEDOM\fP à la place de la valeur \fBERANGE\fP spécifiée par POSIX. Depuis la version\ 2.10, le comportement de la glibc est corrigé. .PP .\" Actually, 2.3.2 is the earliest test result I have; so yet .\" to confirm if this error occurs only in 2.3.2. Dans la version\ 2.3.2 et les précédentes de la glibc, quand un dépassement ou un soupassement («\ underflow\ ») se produit, \fBpow\fP() génère à tort une exception de virgule flottante non valable (\fBFE_INVALID\fP) en plus de l'exception de dépassement par le haut ou par le bas. .SH "VOIR AUSSI" \fBcbrt\fP(3), \fBcpow\fP(3), \fBsqrt\fP(3) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Cédric Boutillier et Jean-Philippe MENGUAL . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .