| tgamma(3) | Library Functions Manual | tgamma(3) |
tgamma, tgammaf, tgammal - вычисление настоящей гамма-функции
Математическая библиотека (libm, -lm)
#include <math.h>
double tgamma(double x); float tgammaf(float x); long double tgammal(long double x);
tgamma(), tgammaf(), tgammal():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
Эти функции вычисляют гамма-функцию от x.
Гамма-функция определяется так:
Она определена для всех действительных чисел кроме не положительных целых. Для не положительных интеграл m получим
и, в общем случае, для всех x:
Кроме это, допустимы все значения x вне особых точек:
При успешном выполнении данные функции возвращают Gamma(x).
Если x имеет значение NaN, будет возвращено NaN.
Если x стремится к плюс бесконечности, то будет возвращена плюс бесконечность.
Если x отрицательное целое или стремится к минус бесконечности, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN.
Если происходит переполнение результата, возникает ошибка диапазона, а функция возвращает HUGE_VAL, HUGE_VALF или HUGE_VALL, соответственно, с математически правильным знаком.
Если происходит исчерпание степени, то возникает ошибка диапазона, а функция возвращает 0 с математически правильным знаком.
Если x равно -0 или +0, то генерируется ошибка особой точки, а функции возвращают HUGE_VAL, HUGE_VALF или HUGE_VALL, соответственно, с тем же знаком что и 0.
Смотрите math_error(7), чтобы определить, какие ошибки могут возникать при вызове этих функций.
Могут возникать следующие ошибки:
В glibc также возникает следующая ошибка, которая не определена в C99 или POSIX.1-2001:
Описание терминов данного раздела смотрите в attributes(7).
| Интерфейс | Атрибут | Значение |
| tgamma(), tgammaf(), tgammal() | Безвредность в нитях | MT-Safe |
C11, POSIX.1-2008.
glibc 2.1. C99, POSIX.1-2001.
Эта функция называется «настоящей гамма-функцией» (true gamma function), так как уже есть функция gamma(3), возвращающая совершенно другое значение (смотрите gamma(3)).
Before glibc 2.18, the glibc implementation of these functions did not set errno to EDOM when x is negative infinity.
Before glibc 2.19, the glibc implementation of these functions did not set errno to ERANGE on an underflow range error.
В glibc версии 2.3.3 и старее при значении +0 или -0 некорректно возникает ошибка области (errno присваивается EDOM и возникает исключение FE_INVALID), а не ошибка особой точки.
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 2 мая 2024 г. | Справочные страницы Linux 6.9.1 |