Skip to content

踩坑GitHub hku-mars/FAST_LIO2023-11-06

FAST_LIO指数运算scale因整数除法归零导致计算错误 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:bug: the scale of the exponential value is zero(GitHub hku-mars/FAST_LIO #273)

状态:有绕过办法

问题 ​

在FAST_LIO代码的指数运算部分,scalar_type(1/2)用于类型转换,但1/2在编译期按整数除法计算结果为0,导致无论模板实例化为int、float还是double,scale值恒为0,引发数值计算异常。

环境 ​

FAST_LIO算法库,C++模板类环境,涉及指数运算模块的标量类型转换逻辑。

解决办法 ​

  1. 全局搜索代码中的 scalar_type(1/2) 表达式。
  2. 将整数除法修改为浮点除法,例如替换为 scalar_type(1.0/2.0) 或 scalar_type(0.5)。
  3. 确保修改后的字面量类型与 scalar_type 兼容,避免隐式截断。
  4. 重新编译验证指数运算结果是否恢复正常非零值。

讨论原作者:@lucabart97 等,版权归原作者所有。

来源

本页事实对应的公开页面,以原文为准。

  1. GitHub hku-mars/FAST_LIO #273:bug: the scale of the exponential value is zero访问 2026-10-26