Next: Rational Conversions, Previous: Rational Number Functions, Up: Rational Number Functions [Index]
xを初期化して0/1を代入します。変数は一度だけ普通に初期化・消去(mpq_clear
)しておく必要があります。
NULL文字終端子を持つmpq_t
変数のリストを初期化し,それぞれに0/1をセットします。
xが確保していた領域を解放します。一度使ったすべてのmpq_t
変数に対してこの関数を呼び出して消去したことを確認して下さい。
NULL文字終端子を持つmpq_t
変数のリストが確保していた領域を消去します。
opの値をropに代入します。
op1/op2をropにセットします。op1と
op2に共通因子がある場合は,ropを使った演算を実行する前にmpq_canonicalize
関数を呼び出しておく必要があります。
NULL終端子のある文字列strを,base進数として解釈し,ropにセットします。
例えば“41”という整数や,“41/152”という表記の有理数が使えます。有理数は標準形であることを想定していますので,そうでないときにはmpq_canonicalize
関数で標準化しておきます。
分子と(必要があれば)分母はmpz_set_str
関数と同様の処理を行って読み取りされます (see Assigning Integers)。ホワイトスペースが文字列に入っていても単に無視されます。baseは2以上62以下で設定できますし,他のやり方としては,文字列の先頭が0ならば8進数, 0x
もしくは 0X
ならば16進数,0b
もしくは 0B
ならば2進数,それ以外は10進数として解釈できます。分母と分子の基数は独立に設定でき, 0xEF/100
は 239/100, 0xEF/0x100
は 239/256と解釈されます。
文字列全体が正常に変換できれば0を返します。不正文字列の場合は-1を返します。
rop1とrop2の値を高速に交換します。