Sun Studio 12 Update 1:Fortran 用户指南

3.4.30 –fns[ ={yes| no}]

选择非标准浮点模式。

缺省值为标准浮点模式 (–fns=no)。(请参见《Fortran 编程指南》的“浮点运算”一章。)

可以选择使用 =yes=no,提供了一种在包括 -fns 的其他宏标志(如 -fast)之后切换该标志的方式。-fns 不带值等同于 -fns=yes

此选项标志在程序开始执行时启用非标准浮点模式。在 SPARC 平台上,指定非标准浮点模式会禁用“渐进下溢”,从而导致将微小的结果刷新为零,而不是生成次正规数。此外,还会导致次正规操作数在无提示的情况下替换为零。在那些不支持硬件中的渐进下溢和次正规数的 SPARC 系统上,使用此选项将显著提高某些程序的性能。

下表中的 x 不会导致总下溢,当且仅当 |x| 处于所示范围之一时,x 才是一个次正规数

表 3–8 低于正常的 REAL 和 DOUBLE

数据类型  

范围  

REAL

0.0 < |x| < 1.17549435e–38 

DOUBLE PRECISION

0.0 < |x| < 2.22507385072014e–308 

有关次正规数的详细信息,请参见《数值计算指南》;有关此选项和类似选项的更多信息,请参见《Fortran 编程指南》的“浮点运算”一章。(一些算术家使用术语非正规来代替次正规数。)

缺省情况下,对浮点首选项进行标准初始化:

在 x86 平台上,此选项仅对 Pentium III 和 Pentium 4 处理器(sse 或 sse2 指令集)启用。

在 x86 上,-fns 选择 SSE 刷新为零模式以及非正规数为零模式(如果可用的话)。此标志导致将次正规结果刷新为零。如果可用的话,此标志还导致将次正规操作数视为零。此标志对使用 SSE 或 SSE2 指令集的传统 x87 浮点运算没有影响。

主程序必须使用此选项进行编译才能有效。