GAMMA(3M) GAMMA(3M) НАЗВАНИЕ gamma - логарифм гамма-функции СИНТАКСИС |#include | |double gamma (x) |double x; | |extern int signgam; ОПИСАНИЕ Функция gamma возвращает значение натурального логариф- ма от абсолютной величины соответствующего значения гамма-функции, то есть ln(|Г(x)|), где Г(x) определяет- ся как интеграл по t функции exp(-t) * t^(x-1) в пределах от 0 до x. Знак Г(x) передается во внешней целочисленной переменной signgam. Аргумент x может быть и неположительным числом. Следующий фрагмент программы на языке C может быть ис- пользован для вычисления Г: |if ((y = gamma(x)) >= LN_MAXDOUBLE) | error(); |y = signgam * exp(y); где LN_MAXDOUBLE - минимальное значение, которое обус- лавливает выдачу диагностики о выходе за допустимые пределы значений для функции exp(3М) и которое опреде- лено во включаемом файле . СМ. ТАКЖЕ exp(3M), matherr(3M), values(5). ДИАГНОСТИКА При неотрицательных аргументах функция gamma возвращает значение HUGE [см. intro(3)], а внешней переменной errno присваивается значение EDOM. В стандартный прото- кол будет выдано сообщение о попадании в точку сингу- лярности. Если представление корректного результирующего значения приводит к переполнению, то функция gamma возвращает значение HUGE, а переменной errno присваивается значе ние ERANGE. Изложенная процедура обработки ошибок может быть изме- нена посредством функции matherr(3M).@