tgamma(3) | Library Functions Manual | tgamma(3) |
tgamma, tgammaf, tgammal - вычисление настоящей гамма-функции
Math library (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:
These functions were added in glibc 2.1.
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
tgamma(), tgammaf(), tgammal() | Безвредность в нитях | MT-Safe |
C99, POSIX.1-2001, POSIX.1-2008.
Эта функция называется «настоящей гамма-функцией» (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>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
10 февраля 2023 г. | Linux man-pages 6.03 |