.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH tgamma 3 "17 мая 2025 г." "Справочные страницы Linux 6.15" .SH НАИМЕНОВАНИЕ tgamma, tgammaf, tgammal \- вычисление настоящей гамма\-функции .SH БИБЛИОТЕКА Математическая библиотека (\fIlibm\fP,\ \fI\-lm\fP) .SH ОБЗОР .nf \fB#include \fP .P \fBdouble tgamma(double \fP\fIx\fP\fB);\fP \fBfloat tgammaf(float \fP\fIx\fP\fB);\fP \fBlong double tgammal(long double \fP\fIx\fP\fB);\fP .fi .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBtgamma\fP(), \fBtgammaf\fP(), \fBtgammal\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH ОПИСАНИЕ Эти функции вычисляют гамма\-функцию от \fIx\fP. .P Гамма\-функция определяется так: .P .RS Gamma(x) = integral from 0 to infinity of t\[ha](x\-1) e\[ha]\-t dt .RE .P Она определена для всех действительных чисел кроме не положительных целых. Для не положительных интеграл \fIm\fP получим .P .RS Gamma(m+1) = m! .RE .P и, в общем случае, для всех \fIx\fP: .P .RS Gamma(x+1) = x * Gamma(x) .RE .P Кроме это, допустимы все значения \fIx\fP вне особых точек: .P .RS Gamma(x) * Gamma(1 \- x) = PI / sin(PI * x) .RE .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении данные функции возвращают Gamma(x). .P Если \fIx\fP имеет значение NaN, будет возвращено NaN. .P Если \fIx\fP стремится к плюс бесконечности, то будет возвращена плюс бесконечность. .P Если \fIx\fP отрицательное целое или стремится к минус бесконечности, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .P Если происходит переполнение результата, возникает ошибка диапазона, а функция возвращает \fBHUGE_VAL\fP, \fBHUGE_VALF\fP или \fBHUGE_VALL\fP, соответственно, с математически правильным знаком. .P Если происходит исчерпание степени, то возникает ошибка диапазона, а функция возвращает 0 с математически правильным знаком. .P Если \fIx\fP равно \-0 или +0, то генерируется ошибка особой точки, а функции возвращают \fBHUGE_VAL\fP, \fBHUGE_VALF\fP или \fBHUGE_VALL\fP, соответственно, с тем же знаком что и 0. .SH ОШИБКИ Смотрите \fBmath_error\fP(7), чтобы определить, какие ошибки могут возникать при вызове этих функций. .P Могут возникать следующие ошибки: .TP Domain error: \f[I]x\fR is a negative integer, or negative infinity \fIerrno\fP устанавливается в \fBEDOM\fP. Вызывается исключение неправильной плавающей запятой (\fBFE_INVALID\fP)). .TP Pole error: \f[I]x\fR is +0 or \-0 \fIerrno\fP устанавливается в \fBERANGE\fP. Возникает исключение деления плавающей точки на ноль (\fBFE_DIVBYZERO\fP). .TP Ошибка диапазона: результат превысил разрядность Значение \fIerrno\fP устанавливается в \fBERANGE\fP. Возникает исключение переполнения плавающей запятой (\fBFE_OVERFLOW\fP). .P В glibc также возникает следующая ошибка, которая не определена в C99 или POSIX.1\-2001: .TP Ошибка диапазона: результат исчерпал степень .\" e.g., tgamma(-172.5) on glibc 2.8/x86-32 .\" .I errno .\" is set to .\" .BR ERANGE . .\" glibc (as at 2.8) also supports an inexact .\" exception for various cases. Возникает исключение исчерпания степени чисел с плавающей запятой (\fBFE_UNDERFLOW\fP) и \fIerrno\fP присваивается \fBERANGE\fP. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBtgamma\fP(), \fBtgammaf\fP(), \fBtgammal\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ glibc 2.1. C99, POSIX.1\-2001. .SH ПРИМЕЧАНИЯ Эта функция называется «настоящей гамма\-функцией» (true gamma function), так как уже есть функция \fBgamma\fP(3), возвращающая совершенно другое значение (смотрите \fBgamma\fP(3)). .SH ОШИБКИ .\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6809 Before glibc 2.18, the glibc implementation of these functions did not set \fIerrno\fP to \fBEDOM\fP when \fIx\fP is negative infinity. .P .\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=6810 Before glibc 2.19, the glibc implementation of these functions did not set \fIerrno\fP to \fBERANGE\fP on an underflow range error. .P .\" В glibc версии 2.3.3 и старее при значении +0 или \-0 некорректно возникает ошибка области (\fIerrno\fP присваивается \fBEDOM\fP и возникает исключение \fBFE_INVALID\fP), а не ошибка особой точки. .SH "СМОТРИТЕ ТАКЖЕ" \fBgamma\fP(3), \fBlgamma\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .