Man page - tgammaf(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro

Manual

TGAMMA

名 前
書 式
説 明
返 り 値
エ ラ ー
バ ー ジ ョ ン
属 性
準 拠
注 意
バ グ
関 連 項 目
こ の 文 書 に つ い て

名 前

tgamma, tgammaf, tgammal - 本 当 の ガ ン マ 関 数

書 式

#include <math.h>

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

-lm で リ ン ク す る 。

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 ( feature_test_macros (7) 参 照 ):

tgamma (), tgammaf (), tgammal ():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

説 明

こ れ ら の 関 数 は x の ガ ン マ 関 数 を 計 算 す る 。

ガ ン マ 関 数 は 以 下 の よ う に 定 義 さ れ る :

Gamma(x) = tˆ(x-1) eˆ-t dt の 0 か ら 無 限 大 ま で の 積 分

こ の 関 数 は 正 で な い 整 数 を 除 く す べ て の 実 数 に 対 し て 定 義 さ れ て い る 。 非 負 の 整 数 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 が 負 の 整 数 か 負 の 無 限 大 の 場 合 、 領 域 エ ラ ー (domain error) が 発 生 し 、 NaN が 返 さ れ る 。

結 果 が オ ー バ ー フ ロ ー す る 場 合 、 範 囲 エ ラ ー (range error) が 発 生 し 、 各 関 数 は そ れ ぞ れ HUGE_VAL , HUGE_VALF , HUGE_VALL , を 返 す 。 こ の 際 、 数 学 的 に 正 し い 符 号 が 付 与 さ れ る 。

結 果 が ア ン ダ ー フ ロ ー す る 場 合 、 範 囲 エ ラ ー (range error) が 発 生 し 、 関 数 は 0 を を 返 す 。 こ の 際 、 数 学 的 に 正 し い 符 号 が 付 与 さ れ る 。

x が -0 か +0 の 場 合 、 極 エ ラ ー (pole error) が 発 生 し 、 各 関 数 は そ れ ぞ れ HUGE_VAL , HUGE_VALF , HUGE_VALL , を 返 す 。 0 と 同 じ 符 号 が 付 与 さ れ る 。

エ ラ ー

こ れ ら の 関 数 を 呼 び 出 し た 際 に エ ラ ー が 発 生 し た か の 判 定 方 法 に つ い て の 情 報 は math_error (7) を 参 照 の こ と 。

以 下 の エ ラ ー が 発 生 す る 可 能 性 が あ る 。
領 域 エ ラ ー : x が 負 の 整 数 か 負 の 無 限 大

errno EDOM が 設 定 さ れ る 。 不 正 (invalid) 浮 動 小 数 点 例 外 ( FE_INVALID ) が 上 が る (「 バ グ 」 の 節 を 参 照 )。

極 エ ラ ー (pole error): x が +0 か -0

errno ERANGE が 設 定 さ れ る 。 0 に よ る 除 算 (divide-by-zero) 浮 動 小 数 点 例 外 ( FE_DIVBYZERO ) が 上 が る 。

範 囲 エ ラ ー (range error): 結 果 の オ ー バ ー フ ロ ー

errno ERANGE が 設 定 さ れ る 。 オ ー バ ー フ ロ ー 浮 動 小 数 点 例 外 ( FE_OVERFLOW ) が 上 が る 。

glibc で は 、 C99 や POSIX.1-2001 で 規 定 さ れ て い な い 以 下 の エ ラ ー も 起 こ り 得 る 。
範 囲 エ ラ ー (range error): 結 果 の ア ン ダ ー フ ロ ー

ア ン ダ ー フ ロ ー 浮 動 小 数 点 例 外 ( FE_UNDERFLOW ) が 上 が り 、 errno ERANGE に 設 定 さ れ る 。

バ ー ジ ョ ン

こ れ ら の 関 数 は glibc バ ー ジ ョ ン 2.1 で 初 め て 登 場 し た 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-45545-1.png

準 拠

C99, POSIX.1-2001, POSIX.1-2008.

注 意

こ の 関 数 を 「 本 当 の (true) ガ ン マ 関 数 」 と 呼 ば な け れ ば な ら な か っ た 。 な ぜ な ら 、 他 の 値 を 返 す gamma (3) と い う 関 数 が す で に 存 在 す る か ら で あ る (詳 細 に つ い て は gamma (3) を 参 照 )。

バ グ

バ ー ジ ョ ン 2.18 よ り 前 の glibc の 実 装 で は 、 x が 負 の 無 限 大 の 場 合 、 errno EDOM が 設 定 さ れ な か っ た 。

glibc 2.19 よ り 前 で は 、 こ れ ら の 関 数 の glibc 実 装 は ア ン ダ ー フ ロ ー 範 囲 エ ラ ー の 場 合 に errno ERANGE を 設 定 し な か っ た 。

glibc バ ー ジ ョ ン 2.3.3 以 前 で は 、 引 数 に +0 や -0 を 渡 す と 、 極 エ ラ ー で は な く 、 領 域 エ ラ ー を 間 違 っ て 発 生 し て い た (領 域 エ ラ ー の 場 合 、 errno EDOM を 設 定 さ れ 、 FE_INVALID 例 外 が 発 生 す る )。

関 連 項 目

gamma (3), lgamma (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。