Wraparound multiplicaton vs mullo
tg at gmplib.org
Sun Oct 18 09:02:53 CEST 2009
nisse at lysator.liu.se (Niels Möller) writes:
Nut it *is* mod 2^n - 1, for certain values of n.
Which values of n?
> Do you represent 0 canonically as B^n-1?
No, it's only "seminormalized", no canonical representation of zero.
I'd expect that B^n - 1 is more likely than zero, since various terms
are added together and then extra high limbs are wrapped around and
added in at the low end.
I don't see how zero can be generated ever in the ref code, except
when multiplying zero. (The mul_2nm1_2 and mul_2nm1_4 functions
are more likely to generate zero, I think.)
The testing code does not seem to think that the two representations of
zero are equal. :-)
More information about the gmp-devel