Previous: , Up: Floating-point Functions   [Index]


7.8 その他の関数

Function: void mpf_ceil (mpf_t rop, const mpf_t op)
Function: void mpf_floor (mpf_t rop, const mpf_t op)
Function: void mpf_trunc (mpf_t rop, const mpf_t op)

opを整数に丸めてropに格納します。mpf_ceil関数は隣接整数の大きい方に,mpf_floorは小さい方に,mpf_trunc関数は切り捨てて整数に丸めます。

Function: int mpf_integer_p (const mpf_t op)

opが整数であれば非ゼロを返します。

Function: int mpf_fits_ulong_p (const mpf_t op)
Function: int mpf_fits_slong_p (const mpf_t op)
Function: int mpf_fits_uint_p (const mpf_t op)
Function: int mpf_fits_sint_p (const mpf_t op)
Function: int mpf_fits_ushort_p (const mpf_t op)
Function: int mpf_fits_sshort_p (const mpf_t op)

opを整数に切り捨てた時に,対応するCデータ型に収まるようであれば非ゼロを返します。

Function: void mpf_urandomb (mpf_t rop, gmp_randstate_t state, mp_bitcnt_t nbits)

ropに一様浮動小数点乱数をセットします。値の範囲は 0 <= rop < 1で,ropの精度が小さい時には有効nbitsビット以下の仮数部になるようにします。

state変数は,この関数で使用する前に gmp_randinit関数(Random State Initialization)で初期化しておく必要があります。

Function: void mpf_random2 (mpf_t rop, mp_size_t max_size, mp_exp_t exp)

2進表現としては0と1がランダムに並ぶ,最大 max_sizeリム長の浮動小数点乱数を生成します。指数部は-exp から exp (リム換算で)となります。この関数は,滅多に起こり得ないケースのバグを見つけるためにアルゴリズムや関数をチェックするのに役立ちます。max_sizeが負数の時には負の乱数を生成します。