Timothee.Ewart at unige.ch
Wed Feb 20 23:11:40 CET 2013
thank you very much both of you.
Le 20 févr. 2013 à 18:42, Torbjorn Granlund <tg at gmplib.org> a écrit :
> Your message is a bit vague, but I'll try to rely as well as I can.
> So, you're using twos complement bignums. Is the n you mention fixed?
Yes I am using only twos complement method. And I can give you more infos of what I did.
As C++ dev, I am working for physicists who have with fixed size (128 -512 bits) pb.
I designed integer class which is instantiated by the "user" (multiple of 64 bit word), with meta programming I let the compiler
generate specific ASM solver to every operations. (one more time, my pbs are fixed size, I start to work in 256 bit I finish at 256 bit).
For the multiplication, I integrated 3 different one, integer<n bits> *= long, integer <n bits> *= integer <n bits>, and a free function multiply which return integer <2 * nbits>
The sign was really a pb for the last one ... but presently the performance are very good.
> If not, how come you're interested in just n x n -> 2n multiply, it
> seems you would need n x m -> mn multiply.
> If n is just a word, there are some tricks of converting between signed
> n x n -> 2n and unsigned dito. See GMP's longlong.h, somewhere not to
> far from the end.
Great I will have a look
> If n is arbitrary, I think it might be best to multiply the absolute
well what I do more and less presently
More information about the gmp-discuss