Next: Division Algorithms, Previous: Algorithms, Up: Algorithms [Index]
NxN limb multiplications and squares are done using one of six algorithms, as the size N increases.
Algorithm Mul Threshold Basecase (none) Karatsuba MUL_KARATSUBA_THRESHOLDToom-3 MUL_TOOM3_THRESHOLDToom-4 MUL_TOOM4_THRESHOLDToom-8(.5) MUL_TOOM8H_THRESHOLDFFT MUL_FFT_FULL_THRESHOLD
Algorithm Sqr Threshold Basecase (none) Karatsuba SQR_KARATSUBA_THRESHOLDToom-3 SQR_TOOM3_THRESHOLDToom-4 SQR_TOOM4_THRESHOLDToom-8 SQR_TOOM8_THRESHOLDFFT SQR_FFT_FULL_THRESHOLD
NxM multiplications of operands with different sizes above
MUL_KARATSUBA_THRESHOLD are done using unbalanced Toom algorithms or
with the FFT. See (see Unbalanced Multiplication).
| • Basecase Multiplication: | ||
| • Karatsuba Multiplication: | ||
| • Toom 3-Way Multiplication: | ||
| • Toom 4-Way Multiplication: | ||
| • FFT Multiplication: | ||
| • Other Multiplication: | ||
| • Unbalanced Multiplication: |