我需要日志功能的开源(无许可证限制)实现,带有签名的东西
__m128d _mm_log_pd(__m128d);
它可在 Intel Short Vector Math Library(ICC 的一部分)中找到,但 ICC 既不是免费的也不是开源的。我正在寻找仅使用内在函数的实现。
它应该使用特殊的有理函数近似。我需要一些几乎与 cmath log 一样准确的东西,比如 9-10 位十进制数字,但速度更快。
我相信log2
更容易计算。您可以将您的数字乘以/除以 2 的幂(非常快),使其位于 (0.5, 2],然后使用帕德近似(取M接近N)很容易一劳永逸地推导,并且可以根据需要选择其顺序。您只需要使用 SSE 内在函数即可执行的算术运算。不要忘记根据上述比例因子添加/删除常量。
如果你想要自然对数,除以log2(e)
,您可以一劳永逸地计算。
在一些特定的项目中,自定义日志功能的情况并不罕见。标准库函数可以解决一般情况,但您需要更具体的东西。我真诚地认为自己做并不难。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)