Sun Studio 12:Fortran 库参考

3.3 其他函数

其他一些函数包括按位函数、环境查询函数以及内存分配和解除分配函数。

3.3.1 位操作

这些函数都不属于 FORTRAN 77 标准。

表 3–6 Fortran 77 按位操作函数

按位操作 

参数数量 

专用名称 

参数类型 

函数类型 

补 

NOT

INTEGER

INTEGER

与 

22 

AND IAND

INTEGER

INTEGER

或 

22 

OR IOR

INTEGER

INTEGER

异或 

22 

XOR IEOR

INTEGER

INTEGER

移位  

请参见注释 (14)

ISHFT

INTEGER

INTEGER

左移位  

请参见注释 (14)。

LSHIFT

INTEGER

INTEGER

右移位  

请参见注释 (14)。

RSHIFT

INTEGER

INTEGER

逻辑右移位  

请参见注释 (14)。

LRSHFT

INTEGER

INTEGER

循环移位 

ISHFTC

INTEGER

INTEGER

提取位 

IBITS

INTEGER

INTEGER

设置位 

IBSET

INTEGER

INTEGER

测试位 

BTEST

INTEGER

LOGICAL

清除位 

IBCLR

INTEGER

INTEGER

以上函数可用作内函数,也可以用作外部函数。另请参见《Fortran 库参考》手册中介绍的库位操作例程。

3.3.2 环境查询函数

这些函数都不属于 FORTRAN 77 标准。

表 3–7 Fortran 77 环境查询函数

定义 

参数数量 

通用名称 

参数类型 

函数类型 

编号系统的基数 

EPBASE

INTEGER

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

INTEGER

有效位数 

EPPREC

INTEGER

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

INTEGER

最小指数 

EPEMIN

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

最大指数 

EPEMAX

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

最小的非零数 

EPTINY

REAL

DOUBLE

REAL*16

REAL

DOUBLE

REAL*16

可表示的最大数 

EPHUGE

INTEGER

REAL

DOUBLE

REAL*16

INTEGER

REAL

DOUBLE

REAL*16

Epsilon 请参见注释 (16)。

EPMRSP

REAL

DOUBLE

REAL*16

REAL

DOUBLE

REAL*16

3.3.3 内存

这些函数都不属于 FORTRAN 77 标准。

表 3–8 Fortran 77 内存函数

内函数 

定义 

参数数量 

专用名称 

参数类型 

函数类型 

位置 

地址 

请参见注释 (17)。

LOC

任意

INTEGER*4INTEGER*8

分配 

分配内存并返回地址。 

请参见注释 (17)。

MALLOC

MALLOC64

INTEGER*4

INTEGER*8

INTEGER

INTEGER*8

解除分配 

解除分配由 MALLOC 分配的内存。请参见注释 (17)。

FREE

任意

大小 

返回以字节数表示的参数大小 

请参见注释 (18)

SIZEOF

任意表达式

INTEGER