`igcd',`igcdcntl'
-----------------

igcd(I1,I2)
     :: 整数の GCD (最大公約数)

igcdcntl([I])
     :: 整数 GCDのアルゴリズム選択

RETURN
     整数

I1 I2 I
     整数

   * `igcd' は I1 と I2 の GCD を求める.

   * 引数が整数でない場合は, エラーまたは無意味な結果を返す.

   * 多項式の場合は, `gcd', `gcdz' を用いる.

   * 整数 GCD にはさまざまな方法があり, `igcdcntl' で設定できる.

    `0'
          Euclid 互除法 (default)

    `1'
          binary GCD

    `2'
          bmod GCD

    `3'
          accelerated integer GCD
     `2', `3' は `[Weber]' による.

     おおむね `3' が高速だが, 例外もある.

     [0] A=lrandom(10^4)$
     [1] B=lrandom(10^4)$
     [2] C=lrandom(10^4)$
     [3] D=A*C$
     [4] E=A*B$
     [5] cputime(1)$
     [6] igcd(D,E)$
     0.6sec + gc : 1.93sec(2.531sec)
     [7] igcdcntl(1)$
     [8] igcd(D,E)$
     0.27sec(0.2635sec)
     [9] igcdcntl(2)$
     [10] igcd(D,E)$
     0.19sec(0.1928sec)
     [11] igcdcntl(3)$
     [12] igcd(D,E)$
     0.08sec(0.08023sec)

参照
     *Note `gcd gcdz': gcd gcdz.

