请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F280049C 工具与软件:
我偶尔会在一些计算后得到去规范化的值、我试图确定它 是否会影响以后的计算、以及如何测试这些值。
在所有情况下、我都使用 float32_t、并在上使用宽松浮点选项。
例如、如果 x 是 float32_t 并且是 DEN、那么如果你取 sin (x)、CLA 会发生什么情况? 它是否认为 x 为0? 它以任何方式失败或者生成异常标志或者中断吗?
如何测试 x 以查看它是否已被去规范化? 在 C28x 上、我会使用以下代码、但在 cla_math.h 中未针对 CLA 实现 fpclassify ()(在 math.h 中找到)
if (fpclassify(x) == FP_SUBNORMAL) { x = 0.0f; }