Floating point 极大值和无穷大常数之间的差异

Floating point 极大值和无穷大常数之间的差异,floating-point,opencl,Floating Point,Opencl,在OpenCL中,有两个表示无穷大的浮点数学常量。其中一个就是无限。另一个,magive_VALF,“计算结果”为“无穷大” 这两者有什么区别?“计算到”无穷大是什么意思?巨值是一个遗留名称,它允许不支持无穷大的浮点系统。例如,C标准规定在某些溢出情况下返回magive_VALF。当一个C实现不支持无穷大时,ground_VALF将是最大的可表示值。当一个实现确实支持无穷大时,maging_VALF就是无穷大。C标准仍然允许这样做,我想有些实现仍然不支持无穷大 OpenCL使用IEEE754(或

在OpenCL中,有两个表示无穷大的浮点数学常量。其中一个就是
无限
。另一个,
magive_VALF
,“计算结果”为“无穷大”


这两者有什么区别?“计算到”无穷大是什么意思?

巨值是一个遗留名称,它允许不支持无穷大的浮点系统。例如,C标准规定在某些溢出情况下返回
magive_VALF
。当一个C实现不支持无穷大时,
ground_VALF
将是最大的可表示值。当一个实现确实支持无穷大时,
maging_VALF
就是无穷大。C标准仍然允许这样做,我想有些实现仍然不支持无穷大

OpenCL使用IEEE754(或多或少),所以它确实有无穷大,所以
maging_VALF
就是无穷大。通过定义
magng\u VALF
,OpenCL帮助支持将旧的C代码移植到OpenCL

关于表示“
巨值
计算为+无穷大”的措辞,但
无穷大
是“表示正无穷大或无符号无穷大的浮点型常量表达式”,我想知道这是否是为了允许对
巨值
进行一些运行时准备(例如,将其表示为
1./0.
). 然而,也有人说,
maging_VALF
是“一个正的浮点常量表达式”。总的来说,这让我觉得措辞有点草率,而
maging_VALF
INFINITY
是等价的