相关疑难解决方法(0)

我应该对包含无效值的数据集使用浮点数NaN或浮点数+布尔值吗?

我需要处理大量数据,并对每个数据集进行数学密集型操作.其中大部分类似于图像处理.但是,由于直接从物理设备读取此数据,因此许多像素值可能无效.

这使得NaN的属性表示非数字的值,并且在算术运算上的扩展非常引人注目.然而,它似乎也需要关闭一些优化,如gcc的-ffast-math,而且我们需要跨平台.我们当前的设计使用一个简单的结构,它包含一个浮点值和一个指示有效性的bool.

虽然看起来NaN的设计考虑到了这种用途,但其他人认为它比它的价值更麻烦.有没有人根据他们对IEEE754的更亲密的体验而考虑到性能?

c++ floating-point performance nan

23
推荐指数
1
解决办法
2173
查看次数

NaN 作为特殊参数

我正在写一个小库,你可以在其中设置范围;起点和终点是双精度的。该库具有该范围的一些内置或计算的默认值,但是一旦通过范围设置函数设置了它们,就无法返回到默认值。

因此我喜欢做的就是使用NaN值作为使用默认值的指示符,但是我没有找到NaN的任何标准定义,并且阅读gcc手册它说有不支持NaN的平台。

我的问题是:

是否有不使用 IEEE 754 浮点数的最新平台?我不关心一些模糊的嵌入式设备,因为该库专注于带有 GUI 的平台,准确地说是 cairo。

第二个问题你会使用 NaN 值作为参数来达到这样的目的吗?我在标题中的某个位置定义它没有问题。

c

2
推荐指数
1
解决办法
537
查看次数

标签 统计

c ×1

c++ ×1

floating-point ×1

nan ×1

performance ×1