标签:numerical-methods java math
参见英文答案 > Custom math functions vs. supplied Math functions? 5个
在我的Java程序中,我必须经常计算a ^ b,其中a≥0且0≤b<1. 1.我对Math.pow(a,b)的速度不满意.是否有任何算法可能比Math.pow更快(以某种精度为代价)?
解决方法:
您需要精确的结果,还是只需要近似值?
如果有一个确切的结果:这很难.
如果您只想要近似值:尝试使用第N个根算法进行修复点迭代as described on wikipedia.
然后,您可以浪费尽可能多的时钟周期用于您的nth-root近似,因为您认为适合您的应用.
但我猜Math.pow已经为你做了.如果你想更快地完成它,你必须投入一些繁重的工作.即使在C语言中(我知道比Java更好),我认为编写一个非常快速的修复点迭代的快速变体并不是最简单的任务(如果我一直在进行第n次根计算,那么它们就是绝对的瓶颈,我会求助于多线程,如果可能的话,使用SIMD / AVX指令做很多工作 – 甚至是OpenCL / CUDA.
标签:numerical-methods,java,math 来源: https://codeday.me/bug/20190828/1753353.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。