IEEE 异常与算术运算详解
1. 模块函数与内置函数对比
1.1 IEEE_COPY_SIGN 与 SIGN
这两个函数都将第二个参数的符号复制到第一个参数上,同时保持第一个参数的大小不变,但在处理异常参数时有所不同。SIGN 函数既接受相同类型的整数参数,也接受相同类型的实数参数;而 IEEE_COPY_SIGN 仅接受实数参数 X 和 Y,且它们的类型可能不同。此外,SIGN 函数不要求处理异常参数,而 IEEE_COPY_SIGN 对所有异常参数都有明确的功能定义。
1.2 IEEE_LOGB 与 EXPONENT
两个函数都返回与参数 X 的指数相关的整数。EXPONENT 函数返回默认类型的整数,它是 X 以 b 为底的指数;当 Fortran 模型中 X 的类型和种类的底数为 2 时,EXPONENT 总是比 IEEE_LOGB 返回的值大 1。IEEE_LOGB 返回与 X 相同类型和种类的值,它是 X 在 IEEE 格式下的无偏指数。
1.3 IEEE_NEXT_AFTER 与 NEAREST
这两个函数都返回在第二个参数指定方向上最接近 X 的可表示邻域值,但具体细节不同。IEEE_NEXT_AFTER (X, Y) 在 Y 等于 X 时返回 X,否则返回朝向 Y 且最接近 X 但不等于 X 的可表示邻域值。NEAREST (X, S) 返回 X 的最近邻域值,当 S 为负且非零时返回 X 左侧的值,当 S 为正且非零时返回 X 右侧的值,S 不能为零。对于 IEEE_NEXT_AFTER,两个参数必须是满足 IEEE_SUPPORT_DATATYPE 为真的类型,并且在某些情况下会引发异
超级会员免费看
订阅专栏 解锁全文
43

被折叠的 条评论
为什么被折叠?



