Next: , Previous: , Up: Integer Functions   [Index]


5.2 代入関数

ここでは,一度初期化(see Initializing Integers)された整数変数に新しい値を代入する関数群を解説します。

Function: void mpz_set (mpz_t rop, const mpz_t op)
Function: void mpz_set_ui (mpz_t rop, unsigned long int op)
Function: void mpz_set_si (mpz_t rop, signed long int op)
Function: void mpz_set_d (mpz_t rop, double op)
Function: void mpz_set_q (mpz_t rop, const mpq_t op)
Function: void mpz_set_f (mpz_t rop, const mpf_t op)

opの値をropに代入します。

mpz_set_d, mpz_set_qmpz_set_f関数はopの値を切り捨てて整数値に丸めます。

Function: int mpz_set_str (mpz_t rop, const char *str, int base)

基数をbaseとして表現されたNull文字終端子のC文字列strを,ropにセットします。ホワイトスペース(空白,タブなど)が入っていても単に無視されます。

基数baseは2から62まで指定することができます。これが0の場合は先頭文字列から基数を判断します。0x0Xから開始されていれば16進数,0b0Bであれば2進数,0なら8進数,それ以外はすべて10進数と解釈します。

基数が36以下であれば,大文字小文字の区別はせず,どちらも同じ値として解釈します。基数が37以上62以下であれば,大文字(A, B, ..., Z)は10から35までを表わし,小文字(a, b, ..., z)は36から61までの値であると解釈します。

この関数の返り値が0の時は,基数baseの表現として正しい文字列であることを示します。1文字でも不正であれば,-1を返します。

Function: void mpz_swap (mpz_t rop1, mpz_t rop2)

rop1rop2の値を高速に交換します。