其他一些函数包括按位函数、环境查询函数以及内存分配和解除分配函数。
这些函数都不属于 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 库参考》手册中介绍的库位操作例程。
这些函数都不属于 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 |
这些函数都不属于 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 |