I've been working on converting Paul Zimmermann's implementation of
the Bodrato-Zanoni Toom-4 algorithm to the mpn_level.

I've uploaded the current code to the files section. I'm pretty much
just going to convert the relevant functions from FLINT's fmpz module
(in the file fmpz.c - also uploaded) into tc4_blah functions as
required, much as I have done with fmpz_add->tc4_add.

I thought I would upload it in case anyone felt like working on it
today, as I will not be able to work on it for most of the rest of the
day.

The tc4_addlsh1 function has no analogue in FLINT. I think in every
case it is used in Toom-4 it only deals with unsigned integers, which
makes it easier to implement.

Also, the mpn_divexacts, by 12, 18, 30, etc could probably be done
efficiently in assembly.

for example div_exact by 30 is just mul by (2^B - 1)/15, then divide
by (2^B - 1) and shift right by 1.

Paul's original implementation is here:

http://www.loria.fr/~zimmerma/software/toom4.c

Note it is LGPL v2+. Thanks Paul!!

I now believe a very efficient implementation of this could make quite
a difference.

Bill.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to