外观
踩坑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++模板类环境,涉及指数运算模块的标量类型转换逻辑。
解决办法
- 全局搜索代码中的
scalar_type(1/2)表达式。 - 将整数除法修改为浮点除法,例如替换为
scalar_type(1.0/2.0)或scalar_type(0.5)。 - 确保修改后的字面量类型与
scalar_type兼容,避免隐式截断。 - 重新编译验证指数运算结果是否恢复正常非零值。
讨论原作者:@lucabart97 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。