Scroll to navigation

gamma(3) Library Functions Manual gamma(3)

ИМЯ

gamma, gammaf, gammal - логарифм гамма-функции

LIBRARY

Math library (libm, -lm)

СИНТАКСИС

#include <math.h>
[[deprecated]] double gamma(double x);
[[deprecated]] float gammaf(float x);
[[deprecated]] long double gammal(long double x);

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

gamma():


_XOPEN_SOURCE
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

gammaf(), gammal():


_XOPEN_SOURCE >= 600 || (_XOPEN_SOURCE && _ISOC99_SOURCE)
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

Данные функции устарели. Используйте вместо них, по возможности, tgamma(3) либо lgamma(3).

Определение гамма-функции смотрите в tgamma(3).

Версия *BSD

В libm из 4.4BSD и некоторых версиях FreeBSD имеется функция gamma(), которая вычисляет гамма-функцию, как и ожидается.

Версия glibc

glibc has a gamma() function that is equivalent to lgamma(3) and computes the natural logarithm of the Gamma function.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Смотрите lgamma(3).

ОШИБКИ

Смотрите lgamma(3).

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
gamma(), gammaf(), gammal() Безвредность в нитях MT-Unsafe race:signgam

СТАНДАРТЫ

Из-за различий в поведении в различных системах эта функция не попала ни в один современный стандарт. Она описана в SVID 2.

ЗАМЕЧАНИЯ

История

В 4.2BSD функция gamma() вычисляет ln(|Gamma(|x|)|), записывая знак Gamma(|x|) во внешнее целое signgam. В 4.3BSD было изменено имя на lgamma(3), и в справочной странице указано


"Через некоторое время имя gamma было восстановлено и использовано для гаммы-функции"

В действительности это произошло в 4.4BSD, где gamma() вычисляла гамма-функцию (без влияния на signgam). Однако, это случилось слишком поздно и теперь мы имеем tgamma(3), «настоящую» гамма-функцию.

СМ. ТАКЖЕ

lgamma(3), signgam(3), tgamma(3)

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

5 февраля 2023 г. Linux man-pages 6.03