装配 armv7 霓虹灯电源功能

assembly armv7 neon power function

我是汇编新手。 我想实现一个幂函数,但我没有 exp 或 log 函数。 我有类似 a^b 的东西,而 a 是整数,b 是浮点数。

如果 b 是自然数,我只能想出一些办法。就像一个将 a 与 a 相乘 b 次的循环。

是否有类似的东西,或者有人知道如何实现它。

据我了解,您问的是如何使用 arm neon 实现 pow 功能。

整数 ab 的最有效 pow 实现是 a 乘以 a 循环 abs(b) 次。对于负 b,将 1.0 除以循环结果(参见 here)。

如果您有 explog 实现,那么您可以使用等式 pow(x, m) = exp(m * log (x)) 实现 pow(请参阅here).

你提到你没有 explog 功能。

因此,如果您找到具有 explog 函数的数学库,那么您可以为双 ab 实现 pow

有一些用于 arm 的数学库,实现了 pow。例如,参见 math-neon

Simple ARM NEON optimized sin, cos, log and exp 中的纯 logexp 实现(在 C 中,使用 neon 内在函数)。您可以从库中获取代码并将其重写为 arm 程序集。只需询问律师如何满足图书馆许可。你只需要它的两个功能。内部代码可以简单地移植到 asm。