lgammad32()、lgammad64()、lgammad128() - 対数ガンマ関数

標準

標準/拡張機能 C/C++ 依存項目

C/C++ DFP

両方 z/OS® V1.10

形式

#define __STDC_WANT_DEC_FP__
#include <math.h>

_Decimal32  lgammad32(_Decimal32 x);
_Decimal64  lgammad64(_Decimal64 x);
_Decimal128 lgammad128(_Decimal128 x);
_Decimal32  lgamma(_Decimal32 x);     /* C++ only */
_Decimal64  lgamma(_Decimal64 x);     /* C++ only */
_Decimal128 lgamma(_Decimal128 x);    /* C++ only */

機能説明

lgamma() 関数は、以下の計算を行います。
関数の公式
という式は、次のように定義されます。
公式の説明
公式の説明

の符号は、外部整数 signgam に戻されます。引数 x は正の整数でなければなりません。

マルチスレッド化プロセスでは、各スレッドは signgam 変数の独自のインスタンスを持っています。スレッドは __signgam() 関数を呼び出すことにより、変数のインスタンスに アクセスします。math.h ヘッダーは、__siggam 関数の呼び出しにストリング signgam を再定義します。実際の signgam 外部変数 が、IPT 用の signgam 値を保管するために使用されます。

これらの関数は、IEEE 10 進数浮動小数点形式で機能します。詳細は、IEEE 10 進数浮動小数点を参照してください。

注: IEEE 10 進数浮動小数点を使用するためには、ハードウェアに 10 進数浮動小数点機能 がインストールされている必要があります。

戻り値

正常に実行された場合、lgamma() はその引数の上記の関数を戻します。

lgamma() は次の条件下では失敗します。

CELEBL26

⁄* CELEBL26

   This exaxmple illustrates the lgammad64() function.

*⁄

#define __STDC_WANT_DEC_FP__
#include <math.h>
#include <stdio.h>
int main(void)
{
   _Decimal64 x, y;

   x = 42.0DD;
   y = lgammad64(x);

   printf ("lgammad64(%Df) = %Df¥n", x, y);
}

関連情報