• Tim Peters's avatar
    SF patch 936813: fast modular exponentiation · 0973b99e
    Tim Peters authored
    This checkin is adapted from part 1 (of 3) of Trevor Perrin's patch set.
    
    x_mul()
      - sped a little by optimizing the C
      - sped a lot (~2X) if it's doing a square; note that long_pow() squares
        often
    k_mul()
      - more cache-friendly now if it's doing a square
    KARATSUBA_CUTOFF
      - boosted; gradeschool mult is quicker now, and it may have been too low
        for many platforms anyway
    KARATSUBA_SQUARE_CUTOFF
      - new
      - since x_mul is a lot faster at squaring now, the point at which
        Karatsuba pays for squaring is much higher than for general mult
    0973b99e
longobject.c 68.9 KB