Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       tgamma, tgammaf, tgammal - вычисление настоящей гамма-функции

БИБЛИОТЕКА

       Математическая библиотека (libm, -lm)

ОБЗОР

       #include <math.h>

       double tgamma(double x);
       float tgammaf(float x);
       long double tgammal(long double x);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       tgamma(), tgammaf(), tgammal():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

ОПИСАНИЕ

       Эти функции вычисляют гамма-функцию от x.

       Гамма-функция определяется так:

              Gamma(x) = integral from 0 to infinity of t^(x-1) e^-t dt

       Она  определена для всех действительных чисел кроме не положительных целых. Для не положительных интеграл
       m получим

              Gamma(m+1) = m!

       и, в общем случае, для всех x:

              Gamma(x+1) = x * Gamma(x)

       Кроме это, допустимы все значения x вне особых точек:

              Gamma(x) * Gamma(1 - x) = PI / sin(PI * 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), чтобы определить, какие ошибки могут возникать при вызове этих функций.

       Могут возникать следующие ошибки:

       Ошибка области: x отрицательное целое или стремится к минус бесконечности
              errno устанавливается в EDOM. Вызывается исключение неправильной плавающей запятой (FE_INVALID)).

       Ошибка особой точки: x равно +0 или -0
              errno  устанавливается  в  ERANGE.  Возникает  исключение  деления   плавающей   точки   на   ноль
              (FE_DIVBYZERO).

       Ошибка диапазона: результат превысил разрядность
              Значение  errno  устанавливается  в  ERANGE.  Возникает  исключение переполнения плавающей запятой
              (FE_OVERFLOW).

       В glibc также возникает следующая ошибка, которая не определена в C99 или POSIX.1-2001:

       Ошибка диапазона: результат исчерпал степень
              Возникает  исключение  исчерпания  степени  чисел  с  плавающей  запятой  (FE_UNDERFLOW)  и  errno
              присваивается ERANGE.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в 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), а не ошибка особой точки.

СМОТРИТЕ ТАКЖЕ

       gamma(3), lgamma(3)

ПЕРЕВОД

       Русский  перевод  этой  страницы  руководства  разработал(и) 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  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                        tgamma(3)