2.2.1 IEEE 算术和异常模块Fortran 2003 标准内模块 IEEE_EXCEPTIONS、IEEE_ARITHMETIC 和IEEE_FEATURES 支持采用建议的语言标准的新功能,从而支持 IEEE 算术和 IEEE 异常处理。草案标准定义了一组查询函数、基本函数、种类函数、基本子例程和非基本子例程。后面的表中列出了这些函数
在使用自等价性判断NaN时,需要注意编译器优化可能会删除这种看似无用的比较,从而导致判断失败。 使用IEEE_ARITHMETIC模块是更为标准和可靠的方法,但前提是编译器支持IEEE算术标准。 综上所述,根据具体需求和编译器支持情况,可以选择合适的方法来在Fortran中判断NaN值。
在Fortran 语言中,新的内部模块IEEE_ARITHMETIC和IEEE_FEATURES提供了对异常和 IEEE 算法的支持。对这些功能提供完整支持的是: USE, INTRINSIC :: IEEE_ARITHMETIC USE, INTRINSIC :: IEEE_FEATURES INTRINSIC关键字是 Fortran 2003 中的新增功能。这些模块定义了一组派生类型、常量、舍入模式、查询函数、基本函数、种...
在使用Fortran计算数值问题的时候,最好统一使用同一种精度的数值,避免不必要的麻烦。 除了自己写算法,还可以使用内置的module:IEEE_ARITHMETIC。该module包含了IEEE_IS_FINITE和IEEE_IS_NAN两个function。使用方法如下: 为了在出现 NaN 或者 Infinity 时就跳出循环,结合exit 命令使用: 4.我不清楚你myf2.dat文件里的...
浮点数是用有限的数据来表示无限的可能。 Real和Complex都是浮点数类型。 计算机中的浮点数规则很多,其中应用最多的是IEEE标准,其格式为:符号位+有效数+指数。 符号位0表示正数,1表示负数; 有效数表示小于1的小数,参与计算时会加1; 指数位表示整数,参与计算时作为2的指数,使用其与127的差值,便于表示负指数; ...
此外,Fortran 还内置了三个模块: ISO_Fortran_Env,ISO_C_Binding,IEEE_Arithmetic;对于编译器并行拓展,额外还 有 OpenMP,MPI 模块. - 23 - 1.10 编程基本原则* 进行 Fortran 编程有一些计算机编程中普遍需要注意的原则14和 Fortran 特有的原则,以 保证代码的高效开发: (1) 数学运算:先乘后除,如 x = y*z...
USE, INTRINSIC :: IEEE_ARITHMETIC, IEEE_EXCEPTIONS 有关详细信息,请参见Fortran标准(http://www.j3-fortran.org)。 2.2.1.1查询函数 模块IEEE_EXCEPTIONS包含下列查询函数。 功能 说明 IEEE_SUPPORT_FLAG(FLAG[,X]) 查询处理器是否支持异常。 IEEE_SUPPORT_HALTING(FLAG) 查询处理器是否支持在出现异常后控制停止...
Fortran 2003(2004). Addedobject-oriented programming, which allowed defining classes, inheritance, polymorphism and dynamic dispatch. It also includedCcompatibility, type extension, parameterized derived types, deferred binding, procedure pointers, input/output and IEEE arithmetic. ...
IEEE_ARITHMETIC、IEEE_EXCEPTIONS和IEEE_FEATURES模組是本質的,但這些模組中定義的類型和程序並不是本質的。 IEEE 模組中包含的所有函數都是純函數。 所有程序名稱都是同屬且不是特定的。 所有異常狀況旗標的預設值都是 quiet。 依預設,異常狀況不會導致中止。
4.6.2 IEEE 浮点异常处理 在Fortran 语言中,新的内部模块IEEE_ARITHMETIC和IEEE_FEATURES提供了对异常和 IEEE 算法的支持。对这些功能提供完整支持的是: USE, INTRINSIC :: IEEE_ARITHMETIC USE, INTRINSIC :: IEEE_FEATURES INTRINSIC关键字是 Fortran 2003 中的新增功能。这些模块定义了一组派生类型、常量、舍入模...