Next: Division Algorithms, Previous: Algorithms, Up: Algorithms [Index]
NxNリムの乗算と2乗は下記の7つのアルゴリズムのうち1つを使って実行されます。Nが増えるごとに7つのアルゴリズムに順次移行していきます。
アルゴリズム 下限閾値マクロ 筆算(Basecase) (なし) Karatsuba MUL_TOOM22_THRESHOLDToom-3 MUL_TOOM33_THRESHOLDToom-4 MUL_TOOM44_THRESHOLDToom-6.5 MUL_TOOM6H_THRESHOLDToom-8.5 MUL_TOOM8H_THRESHOLDFFT MUL_FFT_THRESHOLD
2乗の場合もSQRを接頭詞とする下限閾値マクロを使ってアルゴリズムを切り替えます。
NxM乗算,即ち,被乗数のサイズが異なる場合,MUL_TOOM22_THRESHOLDを越えていると,サイズによりますが,Toom-cookに似たアルゴリズムかFFTを使って計算が行われます(see Unbalanced Multiplication)。
| • Basecase Multiplication: | 筆算アルゴリズム | |
| • Karatsuba Multiplication: | Karatsuba乗算 | |
| • Toom 3-Way Multiplication: | Toom 3-Way 乗算 | |
| • Toom 4-Way Multiplication: | Toom 4-Way 乗算 | |
| • Higher degree Toom'n'half: | 高次のToom’n’half | |
| • FFT Multiplication: | FFT乗算 | |
| • Other Multiplication: | その他の乗算アルゴリズム | |
| • Unbalanced Multiplication: | 不均衡乗算 |