OK, well I'll add this to the long MPIR todo list. When we next update MPIR we'll attempt to find a robust patch for this.
Bill. On 9 March 2013 15:26, Fredrik Johansson <fredrik.johans...@gmail.com> wrote: > On Sat, Mar 9, 2013 at 4:03 PM, Bill Hart <goodwillh...@googlemail.com> wrote: >> In theory, the FFT should handle very unbalance operands just fine. >> But as you can see it is a matter of tuning at some points. >> >> Obviously we should be using something else at this size. >> >> The right way to handle really unbalanced operands like this is to >> keep the smaller operand in Toom format and step along the larger >> operand completing a whole bunch of small multiplications. >> >> Currently we don't do this, and just keep putting the smaller operand >> into Toom format over and over again. >> >> Anyhow, if you can come up with a better tuning strategy, we can alter >> this in the next MPIR. Remember that our FFT is completely different >> to the one in GMP though, so simply using their strategy may work at >> this point, but is not guaranteed to be the right strategy for our >> multiplication code overall. > > For now I have just patched my MPIR to avoid the FFT when the small > operand is smaller than one third of the the FFT cutoff (same as GMP), > and it seems to work so far. > > Fredrik > > -- > You received this message because you are subscribed to the Google Groups > "mpir-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to mpir-devel+unsubscr...@googlegroups.com. > To post to this group, send email to mpir-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/mpir-devel?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "mpir-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to mpir-devel+unsubscr...@googlegroups.com. To post to this group, send email to mpir-devel@googlegroups.com. Visit this group at http://groups.google.com/group/mpir-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.