.\" 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. .\" .\"******************************************************************* .\" This file is distributed under the same license as original manpage .\" Copyright of the original manpage: .\" Copyright © 1993 David Metcalfe, 2008 Linux Foundation .\" Copyright © of Polish translation: .\" Adam Byrtek (PTM) , 1998. .\" Robert Luberda , 2013, 2017. .\" Michał Kułach , 2016. .TH POW 3 2016\-03\-15 "" "Podręcznik programisty Linuksa" .SH NAZWA pow, powf, powl \- funkcja potęgowa .SH SKŁADNIA .nf \fB#include \fP .sp \fBdouble pow(double \fP\fIx\fP\fB, double \fP\fIy\fP\fB);\fP .br \fBfloat powf(float \fP\fIx\fP\fB, float \fP\fIy\fP\fB);\fP .br \fBlong double powl(long double \fP\fIx\fP\fB, long double \fP\fIy\fP\fB);\fP .fi .sp Proszę linkować z \fI\-lm\fP. .sp .in -4n Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)): .in .sp .ad l \fBpowf\fP(), \fBpowl\fP(): .RS 4 _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L || /* Od glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .RE .ad .SH OPIS Funkcje te zwracają wartość \fIx\fP podniesioną do potęgi \fIy\fP. .SH "WARTOŚĆ ZWRACANA" Funkcje te, gdy się zakończą pomyślnie, zwracają wartość \fIx\fP podniesioną do potęgi \fIy\fP. .\" The domain error is generated at least as far back as glibc 2.4 Jeżeli \fIx\fP jest wartością skończoną mniejszą niż 0 i \fIy\fP jest wartością skończoną niebędącą liczbą całkowitą, występuje błąd dziedziny i zwracane jest NaN. .\" The range error is generated at least as far back as glibc 2.4 Jeśli wartość wynikowa jest zbyt duża, to występuje błąd przekroczenia zakresu i funkcje odpowiednio zwracają \fBHUGE_VAL\fP, \fBHUGE_VALF\fP lub \fBHUGE_VALL\fP z poprawnie ustawionym znakiem. .\" 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. Jeśli wartość wynikowa jest zbyt mała, to występuje błąd przekroczenia zakresu i zwracane jest 0.0. Z wyjątkiem sytuacji opisanych niżej, jeżeli \fIx\fP lub \fIy\fP wynosi NaN, to wynikiem jest również NaN. Jeśli \fIx\fP wynosi +1, to wynikiem jest 1.0 (nawet gdy \fIy\fP wynosi NaN). Jeśli \fIy\fP wynosi 0, to wynikiem jest 1.0 (nawet gdy \fIx\fP wynosi NaN). Jeśli \fIx\fP wynosi +0 (\-0) i \fIy\fP jest nieparzystą liczbą całkowitą większą od 0, to zwracane jest +0 (\-0). Jeśli \fIx\fP wynosi 0 i \fIy\fP jest większe od zera, ale nie jest nieparzystą liczbą całkowitą, to zwracane jest +0. Jeśli \fIx\fP wynosi \-1 i \fIy\fP jest dodatnią lub ujemną nieskończonością, to wynikiem jest 1.0 Jeśli wartość bezwzględna \fIx\fP jest mniejsza niż 1 i \fIy\fP jest ujemną nieskończonością, to wynikiem jest dodatnia nieskończoność. Jeśli wartość bezwzględna \fIx\fP jest większa od 1 i \fIy\fP jest ujemną nieskończonością, to wynikiem jest +0. Jeśli wartość bezwzględna \fIx\fP jest mniejsza niż 1 i \fIy\fP jest dodatnią nieskończonością, to wynikiem jest +0. Jeśli wartość bezwzględna \fIx\fP jest większa od 1 i \fIy\fP jest dodatnią nieskończonością, to wynikiem jest dodatnia nieskończoność. Jeśli \fIx\fP jest równe ujemnej nieskończoności i \fIy\fP jest nieparzystą liczbą całkowitą mniejszą od 0, to zwracane jest \-0. Jeśli \fIx\fP jest równe ujemnej nieskończoności i \fIy\fP jest mniejsze od 0 i nie jest nieparzystą liczbą całkowitą, to zwracane jest +0. Jeśli \fIx\fP jest równe ujemnej nieskończoności i \fIy\fP jest nieparzystą liczbą całkowitą większą od 0, to zwracana jest ujemna nieskończoność. Jeśli \fIx\fP jest równe ujemnej nieskończoności i \fIy\fP jest większe od 0 i nie jest nieparzystą liczbą całkowitą, to zwracana jest dodatnia nieskończoność. Jeśli \fIx\fP jest równe dodatniej nieskończoności i \fIy\fP jest mniejsze od 0, to zwracane jest +0. Jeśli \fIx\fP jest równe dodatniej nieskończoności i \fIy\fP jest większe od 0, to zwracana jest dodatnia nieskończoność. Jeśli \fIx\fP jest równe +0 lub \-0 oraz \fIy\fP jest nieparzystą liczbą całkowitą mniejszą od 0, występuje błąd bieguna i funkcje odpowiednio zwracają \fBHUGE_VAL\fP, \fBHUGE_VALF\fP lub \fBHUGE_VALL\fP z takim samym znakiem, jak znak \fIx\fP. .\" The pole error is generated at least as far back as glibc 2.4 Jeśli \fIx\fP jest równe +0 lub \-0 oraz \fIy\fP jest mniejsze od 0, ale nie jest nieparzystą liczbą całkowitą, występuje błąd bieguna i funkcje odpowiednio zwracają +\fBHUGE_VAL\fP, +\fBHUGE_VALF\fP lub +\fBHUGE_VALL\fP. .SH BŁĘDY .\" 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) Informacje o tym, jak określić, czy wystąpił błąd podczas wywołania tych funkcji, można znaleźć w podręczniku \fBmath_error\fP(7). .PP Mogą wystąpić następujące błędy: .TP Błąd dziedziny: \fIx\fP jest ujemne, a \fIy\fP jest liczbą skończoną, ale niecałkowitą \fIerrno\fP jest ustawiane na \fBEDOM\fP. Rzucany jest wyjątek niepoprawnej operacji zmiennoprzecinkowej (\fBFE_INVALID\fP). .TP Błąd bieguna: \fIx\fP wynosi zero, a \fIy\fP jest ujemne \fIerrno\fP jest ustawiane na \fBERANGE\fP (patrz także BŁĘDY IMPLEMENTACJI). Rzucany jest wyjątek zmiennoprzecinkowego dzielenia przez zero (\fBFE_DIVBYZERO\fP). .TP Błąd zakresu: przekroczenie w górę wartości wynikowej \fIerrno\fP jest ustawiane na \fBERANGE\fP. Rzucany jest wyjątek przekroczenia zakresu operacji zmiennoprzecinkowej (\fBFE_OVERFLOW\fP). .TP Błąd zakresu: przekroczenie w dół wartości wynikowej \fIerrno\fP jest ustawiane na \fBERANGE\fP. Rzucany jest wyjątek przekroczenia w dół zakresu operacji zmiennoprzecinkowej (\fBFE_UNDERFLOW\fP). .SH ATRYBUTY Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku \fBattributes\fP(7). .TS allbox; lbw21 lb lb l l l. Interfejs Atrybut Wartość T{ \fBpow\fP(), \fBpowf\fP(), \fBpowl\fP() T} Bezpieczeństwo wątkowe MT\-Safe .TE .SH "ZGODNE Z" C99, POSIX.1\-2001, POSIX.1\-2008. Wariant zwracający wartość typu \fIdouble\fP jest zgodny również z SVr4, 4.3BSD, C89. .SH "BŁĘDY IMPLEMENTACJI" .\" .\" https://sourceware.org/bugzilla/show_bug.cgi?id=13932 W systemach 64\-bitowych, \fBpow\fP() może być ponad 10 000 razy wolniejsze w przypadku pewnych (rzadkich) wartości niż dla innych pobliskich wartości. Dotyczy to tylko \fBpow\fP(), ale już nie \fBpowf\fP() i \fBpowl\fP(). .\" .\" 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 W wersji 2.9 i wcześniejszych biblioteki glibc w razie wystąpienia błędu bieguna \fIerrno\fP jest ustawiane na \fBEDOM\fP zamiast na \fBERANGE\fP, jak tego wymaga standard POSIX. Zostało to poprawione w wersji 2.10 biblioteki glibc. .\" see bug http://sources.redhat.com/bugzilla/show_bug.cgi?id=3866 .\" and http://sources.redhat.com/bugzilla/show_bug.cgi?id=369 Jeżeli \fIx\fP jest ujemne, to dla dużych ujemnych lub dodatnich wartości \fIy\fP funkcje zwracają NaN z \fIerrno\fP ustawionym na \fBEDOM\fP i generują wyjątek niepoprawnej operacji zmiennoprzecinkowej (\fBFE_INVALID\fP). Na przykład dla \fBpow\fP() można zaobserwować to zachowanie, jeśli wartość bezwzględna z \fIy\fP jest większa niż około 9.223373e18. .\" FIXME . Actually, 2.3.2 is the earliest test result I have; so yet .\" to confirm if this error occurs only in 2.3.2. W wersji 2.3.2 i wcześniejszych biblioteki glibc, w przypadku wystąpienia przepełnienia w górę lub w dół, \fBpow\fP() generuje wyjątek przepełnienia oraz niewłaściwy wyjątek niepoprawnej operacji zmiennoprzecinkowej (\fBFE_INVALID\fP) .SH "ZOBACZ TAKŻE" \fBcbrt\fP(3), \fBcpow\fP(3), \fBsqrt\fP(3) .SH "O STRONIE" Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux \fIman\-pages\fP. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem \%https://www.kernel.org/doc/man\-pages/. .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) , Robert Luberda i Michał Kułach . .PP Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją \fB 4.07 \fPoryginału.