sec_karatsuba

bodrato at mail.dm.unipi.it bodrato at mail.dm.unipi.it
Thu Feb 13 21:07:31 UTC 2014


Ciao,

Il Mer, 12 Febbraio 2014 8:59 am, Niels ha scritto:
> bodrato at mail.dm.unipi.it writes:

>> I used evaluation in +1 instead of -1, to avoid branches due to the
>> sign,
>
> For the -1 point, one could use mpn_sub + mpn_cnd_neg to compute
> |a-b|. And then also conditonally negate and sign-extend the
> corresponding product. I don't know what's best, it's a couple of
> negations vs an extra limb in the product.

Unfortunately, I had not the time to try with the -1 option, but I believe
+1 is faster. The couple of negation (plus one more for the result) are a
linear cost in the number of limbs of the operand.
The extra limb is a linear cost only if the product cost is quadratic, and
it's under-linear above the Karatsuba range...

Regards,
m

-- 
http://bodrato.it/



More information about the gmp-devel mailing list