添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Sun Studio 12:Fortran 库参考

第 2 章 Fortran 95 内函数

本章列出了 f95 编译器可识别的内函数名称。

2.1 标准 Fortran 95 的通用内函数

本节中介绍的 Fortran 95 通用内函数按其在 Fortran 95 标准中的功能进行分组。

所示参数是在采用关键字形式时可以用作参数关键字的名称,如 cmplx(Y=B, KIND=M, X=A) 中所示。

有关这些通用内过程的详细说明,请查阅 Fortran 95 标准。

2.1.1 参数存在查询函数

标有 # 号的函数不能用作实际参数。“双精度”表示双精度实数。

2.2 Fortran 2003 Module Routines

Fortran 2003 标准提供了一组内模块,它们定义了支持 IEEE 算术以及与 C 语言的互操作性所需的功能。

2.2.1 IEEE 算术和异常模块

Fortran 2003 标准内模块 IEEE_EXCEPTIONS IEEE_ARITHMETIC IEEE_FEATURES 支持采用建议的语言标准的新功能,从而支持 IEEE 算术和 IEEE 异常处理。

草案标准定义了一组查询函数、基本函数、种类函数、基本子例程和非基本子例程。后面的表中列出了这些函数和子例程。

要访问这些函数和子例程,调用例程必须包括

USE, INTRINSIC :: IEEE_ARITHMETIC, IEEE_EXCEPTIONS

有关详细信息,请参见 Fortran 标准 ( http://www.j3-fortran.org )。

2.2.1.1 查询函数

模块 IEEE_EXCEPTIONS 包含下列查询函数。

2.2.2 C 绑定模块

Fortran 2003 标准提供了一种引用 C 语言过程的方式。 ISO_C_BINDING 模块按内模块函数形式定义了三个支持过程。访问这些函数需要在调用例程中使用

USE, INTRINSIC :: ISO_C_BINDING, ONLY: C_LOC, C_PTR, C_ASSOCIATED

。该模块中定义的过程如下

有关 ISO_C_BINDING 内模块的详细信息,请参见 http://www.j3-fortran.org 上的 Fortran 2003 标准的第 15 章。

2.3 非标准 Fortran 95 内函数

下列函数 f95 编译器中视为内函数,但它们不属于 Fortran 95 标准。

2.3.1 基本线性代数函数 (BLAS)

在使用 -xknown_lib=blas 进行编译时,编译器会将对下列例程的调用识别为内函数,并对其进行优化,然后将其链接到 Sun Performance Library 实现。编译器会忽略用户提供的这些例程版本。

表 2–2 BLAS 内函数

2.3.3 其他供应商的内函数

f95 编译器可识别许多由其他供应商(包括 Cray Research, Inc.)的 Fortran 编译器定义的传统内函数。这些内函数现已过时,应避免使用。

表 2–3 Cray CF90 和其他编译器的内函数

2.3.4.2 内存函数

内存分配、重新分配和解除分配函数 malloc() realloc() free() 均以 f95 内函数实现。有关详细信息,请参见 1.4.35 malloc malloc64 realloc free :分配/重新分配/解除分配内存