大家可能注意到9#的代码包含下面的代码,这就是用来测试我自己写的大数除法用的。
#else
{
void inverse( const integer *s, integer *pResult,int len);
integer t;
inverse(&q,&t,len);
p *=t;
}
#endif 欢迎任何改进!:handshake
原帖由 无心人 于 2008-4-17 15:14 发表 static/image/common/back.gif
不是9#
是你给的highCalc.rar
我将他的老版本也打包进去了,请重新下载:static/image/filetype/rar.gif HighCalc.rar (235.42 KB) 我说的意思是PiFast内核不可能会领先那么多吧?
也许是我们外围算法或调用没做好。。。
你这么一说,我也有种感觉,也许Pifast的大数乘法不会快HugeCalc 3倍以上,这太快了,比GMP还快,快的有点不可思议。 某些算法大数乘法并不需要乘出结果
他可以在FFT上持续计算,直到需要乘法结果时再算出来
可能他利用了N个序列的FFT来合成2N个序列的来持续FFT “持续FFT”?
我以前考虑过,但效率并不理想。
因为要考虑到最终乘积,所以每次的变换长度都是最终的长度,
如果逐级处理,则早些阶段的可用较小的变换长度处理。 N个序列的FFT可变换成2N个序列的FFT
其操作只是序列的一个复制操作
mathematica7.0计算E的百万位代码
input:Timing]output:{2.25,一百万位的数字我就不贴出结果了!}
追究简单是我的原则!不到万不得已的情况下,我是
不会选择编程的!我承认自己有时候喜欢现成的!:lol 你那不叫算法
叫函数调用 我建议算e^x
光算个e貌似没有实际价值...怎么算都是常数...
e^x更有挑战性... 这个,好像计算e^x不是很困难吧