sec_karatsuba

2014-02-11 Thread bodrato
Ciao! I tried to write a _sec_ version of Karatsuba multiplication. It is not intended for 5.2, of course, but it is ready and I like to share it. It is attached. It obviously is slower than the non_sec toom22, but not terribly: mpn_mul_basecase mpn_toom22_mul mpn_sec_kara 8

Re: mpn_sec_powm

2014-02-11 Thread Niels Möller
Torbjorn Granlund t...@gmplib.org writes: The exponent size argument docs implies that bits in the leading limb beyond the bit count argument are to be ignored. I am not sure that is a wise promise. Given the current implementation, it's natural. But we could document that it is required

Re: mpn_sec_powm

2014-02-11 Thread Niels Möller
Torbjorn Granlund t...@gmplib.org writes: Please use something else than ebits, since that sounds like the arguments contains bits with individual meaning. IIRC enb would follow conventions used elsewhere in the manual. Naming is hard ;-) The docs for mpn_sec_invert use nbcnt (I guess that's

Re: mpn_sec_powm

2014-02-11 Thread Niels Möller
ni...@lysator.liu.se (Niels Möller) writes: Maybe one problem is that to make a fair comparison between window sizes k and k+1, the exponent bit size should be divisible by both k and k+1. I'm testing the below patch. Output from four consecutive runs: #define POWM_SEC_TABLE

Re: mpn_sec_powm

2014-02-11 Thread Torbjorn Granlund
ni...@lysator.liu.se (Niels Möller) writes: Torbjorn Granlund t...@gmplib.org writes: Please use something else than ebits, since that sounds like the arguments contains bits with individual meaning. IIRC enb would follow conventions used elsewhere in the manual. Naming is

Re: sec_karatsuba

2014-02-11 Thread Niels Möller
bodr...@mail.dm.unipi.it writes: I tried to write a _sec_ version of Karatsuba multiplication. It is not intended for 5.2, of course, but it is ready and I like to share it. It is attached. Cool. It obviously is slower than the non_sec toom22, but not terribly: 180.00635