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.

[参考译文] MSP-IQMATHLIB:__double_size 为 value '64'

Guru**** 2348500 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/753061/msp-iqmathlib-__double_size-to-value-64

器件型号:MSP-IQMATHLIB

当我使用 IQmathLib_IAR_MPY32_5xx_6xx_CPUx_LARGE_CODE_LARGE_DATA.lib 时、如果我将__doub_size 设置为值'64'、编译器将生成错误。

错误是 Module _atoIQN 指定'_double_size'必须为'32'、但模块 main 的值为'64'。

为什么我无法将__double_size 设置为值'64'?

如果我需要64位双精度数、应该怎么办?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嘿、User1880549、

    您正尝试使用 IQ Math 库执行什么操作? 为什么要将双精度数更改为64位?

    此外、您在哪里设置双精度大小? 是否在项目设置中?

    谢谢、
    JD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否能够解决此问题? 我现在要关闭此主题、但如果您仍然需要一些帮助、请随时作出响应。

    谢谢、
    JD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的数据范围为2.5至0.005、允许的误差为0.0001。 在上述要求中、我认为精度在8-9位有效数字中。 由于32位浮点数只有6-7位有效数、我想使用64位浮点数。

    我使用 IAR for MSP430,选项->常规选项->目标->浮点->类型大小->64位。

    我能否在其他地方设置64位浮点数、如何设置?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    32位 IEEE-754浮点格式使用24位的有效值、对于您提供的数据范围和精度而言、该值应足够。    通常、64位浮点计算成本太高、精度明显高于 MSP430应用所需的精度(例如、对12位 ADC 样本使用64位双精度数学运算是过分的)。

    我将研究是否有办法在 IAR 中使用具有64位双精度的 IQmath 库、但可能不支持该方法。

    此致、

    Brent Peterson