NxN limb multiplications and squares are done using one of seven algorithms, as the size N increases.
Algorithm Threshold Basecase (none) Karatsuba
Similarly for squaring, with the
NxM multiplications of operands with different sizes above
MUL_TOOM22_THRESHOLD are currently done by special Toom-inspired
algorithms or directly with FFT, depending on operand size (see Unbalanced Multiplication).
|• Basecase Multiplication|
|• Karatsuba Multiplication|
|• Toom 3-Way Multiplication|
|• Toom 4-Way Multiplication|
|• Higher degree Toom'n'half|
|• FFT Multiplication|
|• Other Multiplication|
|• Unbalanced Multiplication|