.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pow 3 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ pow, powf, powl \- функции возведения в степень .SH БИБЛИОТЕКА Математическая библиотека (\fIlibm\fP,\ \fI\-lm\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \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 .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBpowf\fP(), \fBpowl\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* начиная с glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH ОПИСАНИЕ Данные функции возвращают значение \fIx\fP, возведённое в степень \fIy\fP. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении данные функции возвращают значение \fIx\fP, возведённое в степень \fIy\fP. .P .\" The range error is generated at least as far back as glibc 2.4 Если происходит переполнение результата, возникает ошибка диапазона, а функция возвращает \fBHUGE_VAL\fP, \fBHUGE_VALF\fP или \fBHUGE_VALL\fP, соответственно, с математически правильным знаком. .P .\" POSIX.1 does not specify the sign of the zero, .\" but https://www.sourceware.org/bugzilla/show_bug.cgi?id=2678 .\" points out that the zero has the wrong sign in some cases. If result underflows, and is not representable, a range error occurs, and 0.0 with the appropriate sign is returned. .P .\" pow(\(+-0, <0 [[odd]]) = HUGE_VAL* Если \fIx\fP равно +0 или \-0 и \fIy\fP — нечётное целое меньшее 0, то генерируется ошибка особой точки и возвращается \fBHUGE_VAL\fP, \fBHUGE_VALF\fP или \fBHUGE_VALL\fPс тем же знаком что и у \fIx\fP. .P .\" pow(\(+-0, <0 [[!odd]]) = HUGE_VAL* .\" The pole error is generated at least as far back as glibc 2.4 Если \fIx\fP равно + или \-0 и \fIy\fP — меньше 0 и чётное целое, то генерируется ошибка особой точки и возвращается +\fBHUGE_VAL\fP, +\fBHUGE_VALF\fP или +\fBHUGE_VALL\fP. .P .\" pow(\(+-0, >0 [[odd]]) = \(+-0 Если \fIx\fP равно +0 (\-0) и \fIy\fP — нечётное целое большее 0, то результат равен +0 (\-0). .P .\" pow(\(+-0, >0 [[!odd]]) = +0 Если \fIx\fP равно 0 и \fIy\fP больше 0 и не чётное целое, то результат равен +0. .P .\" pow(-1, \(+-INFINITY) = 1.0 Если \fIx\fP равно \-1 и \fIy\fP стремится к плюс или минус бесконечности, то результат равен 1.0. .P .\" pow(+1, y) = 1.0 Если \fIx\fP равно +1, то результат равен 1.0 (даже если \fIy\fP равно NaN). .P .\" pow(x, \(+-0) = 1.0 Если \fIy\fP равно 0, то результат равен 1.0 (даже если \fIx\fP равно NaN). .P .\" pow(<0, y) = NaN .\" The domain error is generated at least as far back as glibc 2.4 Если \fIx\fP — конечное значение меньшее 0 и \fIy\fP — конечное не целое, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .P .\" pow(|x|<1, -INFINITY) = INFINITY Если абсолютное значение \fIx\fP меньше 1 и \fIy\fP стремится к минус бесконечности, то результат стремится к плюс бесконечности. .P .\" pow(|x|>1, -INFINITY) = +0 Если абсолютное значение \fIx\fP больше 1 и \fIy\fP стремится к минус бесконечности, то результат равен +0. .P .\" pow(|x|<1, INFINITY) = +0 Если абсолютное значение \fIx\fP меньше 1 и \fIy\fP стремится к плюс бесконечности, то результат равен +0. .P .\" pow(|x|>1, INFINITY) = INFINITY Если абсолютное значение \fIx\fP больше 1 и \fIy\fP стремится к плюс бесконечности, то результат стремится к плюс бесконечности. .P .\" pow(-INFINITY, <0 [[odd]]) = -0 Если \fIx\fP стремится к минус бесконечности и \fIy\fP — нечётное целое меньшее 0, то результат равен \-0. .P .\" pow(-INFINITY, <0 [[!odd]]) = +0 Если \fIx\fP стремится к минус бесконечности и \fIy\fP — меньше 0 и чётное целое, то результат равен +0. .P .\" pow(-INFINITY, >0 [[odd]]) = -INFINITY Если \fIx\fP стремится к минус бесконечности и \fIy\fP — нечётное целое большее 0, то результат стремится к минус бесконечности. .P .\" pow(-INFINITY, >0 [[!odd]]) = INFINITY Если \fIx\fP стремится к минус бесконечности и \fIy\fP — больше 0 и чётное целое, то результат стремится к плюс бесконечности. .P .\" pow(INFINITY, <0) = +0 Если \fIx\fP стремится к плюс бесконечности и \fIy\fP — меньше 0, то результат равен +0. .P .\" pow(INFINITY, >0) = INFINITY Если \fIx\fP стремится к плюс бесконечности и \fIy\fP — больше 0, то результат стремится к плюс бесконечности. .P .\" pow(NaN, y) or pow(x, NaN) = NaN Except as specified above, if \fIx\fP or \fIy\fP is a NaN, the result is a NaN. .SH ОШИБКИ .\" FIXME . review status of this error .\" longstanding bug report for glibc: .\" https://www.sourceware.org/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) Смотрите \fBmath_error\fP(7), чтобы определить, какие ошибки могут возникать при вызове этих функций. .P Могут возникать следующие ошибки: .TP Domain error: \f[I]x\fR is negative, and \f[I]y\fR is a finite noninteger \fIerrno\fP устанавливается в \fBEDOM\fP. Вызывается исключение неправильной плавающей точки (\fBFE_INVALID\fP). .TP Pole error: \f[I]x\fR is zero, and \f[I]y\fR is negative \fIerrno\fP устанавливается в \fBERANGE\fP (но смотрите ДЕФЕКТЫ). Возникает исключение деления плавающей запятой на ноль (\fBFE_DIVBYZERO\fP). .TP Ошибка диапазона: результат превысил разрядность Значение \fIerrno\fP устанавливается в \fBERANGE\fP. Возникает исключение переполнения плавающей запятой (\fBFE_OVERFLOW\fP). .TP Ошибка диапазона: результат исчерпал степень Значение \fIerrno\fP устанавливается в \fBERANGE\fP. Возникает исключение исчерпания степени чисел с плавающей запятой (\fBFE_UNDERFLOW\fP). .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBpow\fP(), \fBpowf\fP(), \fBpowl\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ C99, POSIX.1\-2001. .P Вариант, возвращающий значение типа \fIdouble\fP, также соответствует SVr4, 4.3BSD, C89. .SH ОШИБКИ .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. .P .\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=3866 A number of bugs in the glibc implementation of \fBpow\fP() were fixed in glibc 2.16. .P .\" .\" https://www.sourceware.org/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 В glibc 2.9 и более ранних версиях при возникновении ошибки полюса \fIerrno\fP устанавливается в \fBEDOM\fP вместо предписанного POSIX \fBERANGE\fP. Начиная с glibc 2.10, glibc делает все правильно. .P .\" Actually, glibc 2.3.2 is the earliest test result I have; so yet .\" to confirm if this error occurs only in glibc 2.3.2. In glibc 2.3.2 and earlier, when an overflow or underflow error occurs, glibc's \fBpow\fP() generates a bogus invalid floating\-point exception (\fBFE_INVALID\fP) in addition to the overflow or underflow exception. .SH "СМОТРИТЕ ТАКЖЕ" \fBcbrt\fP(3), \fBcpow\fP(3), \fBsqrt\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexey, Azamat Hackimov , kogamatranslator49 , Darima Kogan , Max Is , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .