Sun Studio 12:Fortran 库参考

3.3 其他函数

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

3.3.1 位操作

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

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

按位操作 

参数数量 

专用名称 

参数类型 

函数类型 

补 

1 

NOT

INTEGER

INTEGER

与 

22 

AND IAND

INTEGER

INTEGER

或 

22 

OR IOR

INTEGER

INTEGER

异或 

22 

XOR IEOR

INTEGER

INTEGER

移位  

请参见注释 (14)。

2 

ISHFT

INTEGER

INTEGER

左移位  

请参见注释 (14)。

2 

LSHIFT

INTEGER

INTEGER

右移位  

请参见注释 (14)。

2 

RSHIFT

INTEGER

INTEGER

逻辑右移位  

请参见注释 (14)。

2 

LRSHFT

INTEGER

INTEGER

循环移位 

3 

ISHFTC

INTEGER

INTEGER

提取位 

3 

IBITS

INTEGER

INTEGER

设置位 

2 

IBSET

INTEGER

INTEGER

测试位 

2 

BTEST

INTEGER

LOGICAL

清除位 

2 

IBCLR

INTEGER

INTEGER

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

3.3.2 环境查询函数

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

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

定义 

参数数量 

通用名称 

参数类型 

函数类型 

编号系统的基数 

1 

EPBASE

INTEGER

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

INTEGER

有效位数 

1 

EPPREC

INTEGER

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

INTEGER

最小指数 

1 

EPEMIN

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

最大指数 

1 

EPEMAX

REAL

DOUBLE

REAL*16

INTEGER

INTEGER

INTEGER

最小的非零数 

1 

EPTINY

REAL

DOUBLE

REAL*16

REAL

DOUBLE

REAL*16

可表示的最大数 

1 

EPHUGE

INTEGER

REAL

DOUBLE

REAL*16

INTEGER

REAL

DOUBLE

REAL*16

Epsilon 请参见注释 (16)。

1 

EPMRSP

REAL

DOUBLE

REAL*16

REAL

DOUBLE

REAL*16

3.3.3 内存

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

表 3–8 Fortran 77 内存函数

内函数 

定义 

参数数量 

专用名称 

参数类型 

函数类型 

位置 

地址 

请参见注释 (17)。

1 

LOC

任意

INTEGER*4INTEGER*8

分配 

分配内存并返回地址。 

请参见注释 (17)。

1 

MALLOC

MALLOC64

INTEGER*4

INTEGER*8

INTEGER

INTEGER*8

解除分配 

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

1 

FREE

任意

- 

大小 

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

请参见注释 (18)。

1 

SIZEOF

任意表达式

INTEGER