HP-UX的libc具有函数fesetflushtozero
,用于在“逐渐下溢”和“刷新到零”之间切换浮点行为。如何在运行glibc的系统上实现相同的功能?
答案 0 :(得分:2)
在glibc manual中没有提及对此的支持。它不是标准的IEEE-754功能,并不存在于所有处理器上,即使是那些具有硬件支持浮点的处理器。
某些处理器在使用次正规数运算时会遇到性能不足的问题。 Flush-to-zero是与IEEE 754的偏差,为此提供了解决方法。通常应避免使用,应要求制造商在符合标准的同时提供良好的性能。
如果必须使用它,则需要特定于目标的方法,可能需要使用供应商提供的汇编代码或特殊例程。