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 -~----------~----~----~----~------~----~------~--~---