Fortran 标准没有解决可能出现的多个整数类型问题。编译器通过将专用的 INTEGER-to-INTEGER 函数名(IABS 等)视为一种特殊的通用名称,来处理出现的多个整数类型。可以使用参数类型选择相应的运行时例程名称,而程序员无法访问该名称。
VMS Fortran 采用了类似的方法,但是可以使用专用名称。
表 3–12 VMS 整数函数
专用名称 |
功能 |
参数类型 |
结果类型 |
---|---|---|---|
IIABS JIABS KIABS |
绝对值 |
INTEGER*2 INTEGER*4 INTEGER*8 |
INTEGER*2 INTEGER*4 INTEGER*8 |
IMAX0 JMAX0 |
最大值 |
INTEGER*2 INTEGER*4 |
INTEGER*2 INTEGER*4 |
IMIN0 JMIN0 |
最小值 |
INTEGER*2 INTEGER*4 |
INTEGER*2 INTEGER*4 |
IIDIM JIDIM KIDIM |
正偏差 |
INTEGER*2 INTEGER*4 INTEGER*8 |
INTEGER*2 INTEGER*4 INTEGER*8 |
IMOD JMOD |
a1/a2 的余数 |
INTEGER*2 INTEGER*4 |
INTEGER*2 INTEGER*4 |
IISIGN JISIGN KISIGN |
符号传输,|a1|* sign(a2) |
INTEGER*2 INTEGER*4 INTEGER*8 |
INTEGER*2 INTEGER*4 INTEGER*8 |