以下の関数により、GNU MP ライブラリを使用して任 意長の整数を使用することが可能になります。
これらの関数は、PHP 4.0.4 で追加されました。
注意 多くの GMP 関数は、 resource で定義されたGMP 数 を引数としてとります。しかし、これらの関数の多くは、数値と文字列 の両方を引数として指定可能で、後者は数値に変換することが可能です。 また、整数引数を使用して処理を行うより高速な関数がある場合には、 指定された引数が整数である場合により低速となる関数の代わりに使用 されます。これは透過的に行われるため、結果的にGMP数値を引数とする 全ての関数について整数を使用することが可能です。関数 gmp_init() も参照下さい。
より大きな整数を明示的に指定するには、文字列として指定して下さい。 そうしない場合、PHPは整数リテラルを最初に解釈し、 GMP にわたるまでに精度の劣化を生じる可能性が あります。
注意 この拡張モジュールはWindows環境では利用できません。
http://www.swox.com/gmp/ から GMP ライブラリをダウンロード可能です。このサイ トでは、 GMP のマニュアルも入手可能です。
これらの関数を使用するには、GMP バージョン 2 以降が必要です。いく つかの関数はより新しいバージョンの GMP ライブラリを必要とする可能性 があります。
これらの関数を利用可能とするには、オプション --with-gmp を使用することにより GMP サポートを有効にしてPHPをコンパイルする必要が あります。
この拡張モジュールは設定ディレクティブを全く 定義しません。
この拡張モジュールはリソース型を全く定義し ません。
これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。
例 1GMP を使用した階乗関数
この例は、1000の階乗(非常に大きな数です)を非常に高速に計算します。
より数学的な関数は、 BCMath 任意精度関数 および 数学関数 の節にあります。