Next: Division Algorithms, Previous: Algorithms, Up: Algorithms [Index]
NxNリムの乗算と2乗は下記の7つのアルゴリズムのうち1つを使って実行されます。Nが増えるごとに7つのアルゴリズムに順次移行していきます。
アルゴリズム 下限閾値マクロ 筆算(Basecase) (なし) Karatsuba MUL_TOOM22_THRESHOLD
Toom-3 MUL_TOOM33_THRESHOLD
Toom-4 MUL_TOOM44_THRESHOLD
Toom-6.5 MUL_TOOM6H_THRESHOLD
Toom-8.5 MUL_TOOM8H_THRESHOLD
FFT 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: | 不均衡乗算 |