工具与软件:
尊敬的 Champs:
我 在 math.h 中使用了 atan ()和 atanf (), 在下面的函数中使用了 double 和 float 变量,但我发现它们的运行时间差别很大。
浮点 atanf ()仅花费~35个周期,而双倍 atan ()成本~3370个周期。
为什么这两个函数的运行时间相差这么大?

如果客户需要在双模式下使用 atan (),如何缩短运行时间? 我还检查 TMU、但它仅支持浮点模式。

谢谢!
Julia
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
尊敬的 Champs:
我 在 math.h 中使用了 atan ()和 atanf (), 在下面的函数中使用了 double 和 float 变量,但我发现它们的运行时间差别很大。
浮点 atanf ()仅花费~35个周期,而双倍 atan ()成本~3370个周期。
为什么这两个函数的运行时间相差这么大?

如果客户需要在双模式下使用 atan (),如何缩短运行时间? 我还检查 TMU、但它仅支持浮点模式。

谢谢!
Julia
假设您是采用这些进行构建的 -- abi=eabi. 、因此使用较新的 EABI、而不是较旧的 COFF ABI。
float atanf ()仅成本~35个周期,但 double atan ()成本~3370个周期。
类型 悬空 由32位 IEEE 格式表示。 类型 双精度 由64位 IEEE 格式表示。 使用较大的格式执行任何计算需要更多的指令。
如果您的 C28x 器件支持 TMU 指令、则需要使用内在函数 ___ atan 、它甚至更快。
谢谢。此致、
-George.
您是对的。
谢谢。此致、
-George.