Russian peasant multiplication
Marc Glisse
marc.glisse at inria.fr
Sat Feb 22 13:44:29 UTC 2014
On Sat, 22 Feb 2014, Oskar Wieland wrote:
> isn't the Russian peasant multiplication not to prefer against the
> grammar school method in <mpn/generic/mul_basecase.c>?
No.
> http://en.wikipedia.org/wiki/Ancient_Egyptian_multiplication#Russian_peasant_multiplication
>
> For every step there is only:
> one left shift
> one right shift
> one addition (odd numbers only)
Think of multiplying just 2 64-bit numbers. In one case, that's just one
instruction (hardware multiplication). In the other, depending on the
number of bits that are 1 in the binary representation of the numbers, it
can be a few hundred operations.
This technique is only worth it when you know in advance there are very
few 1 bits in one of the numbers, and indeed we have special code for
multiplication by 3 and 5 somewhere.
> This might be an O(log N) algorithm...
Certainly not.
--
Marc Glisse
More information about the gmp-discuss
mailing list