【发布时间】:2013-11-21 02:20:59
【问题描述】:
HP-UX 的 libc 具有函数fesetflushtozero,可在“逐渐下溢”和“清零”之间切换浮点行为。如何在运行 glibc 的系统上实现同样的功能?
【问题讨论】:
标签: floating-point glibc libc libm
HP-UX 的 libc 具有函数fesetflushtozero,可在“逐渐下溢”和“清零”之间切换浮点行为。如何在运行 glibc 的系统上实现同样的功能?
【问题讨论】:
标签: floating-point glibc libc libm
glibc manual 中没有提及对此的支持。它不是标准的 IEEE-754 功能,并且并非在所有处理器上都存在,即使是那些硬件支持浮点的处理器。
某些处理器在处理次正规数时会出现性能缺陷。清零是与 IEEE 754 的偏差,它为此提供了一种解决方法。通常应避免,并应要求制造商在符合标准的同时提供良好的性能。
如果您必须使用它,您将需要特定于目标的方法来执行此操作,可能使用汇编代码或供应商提供的特殊例程。
【讨论】: