VMS Multiple Integer Types
The possibility of multiple integer types is not addressed by the FORTRAN Standard. f77 copes with their existence by treating a specific INTEGERtoINTEGER function name (IABS, and so forth) as a special sort of generic. The argument type is used to select the appropriate runtime routine name, which is not accessible to the programmer.
VMS FORTRAN takes a similar approach, but makes the specific names available.
Table 612 VMS Integer Functions
Specific Names

Function

Argument Type

Result Type

IIABS
JIABS 
Absolute value
Absolute value
 INTEGER*2
INTEGER*4  INTEGER*2
INTEGER*4 
IMAX0
JMAX0 
Maximum [There must be at least two arguments.]
Maximum ^{1}
 INTEGER*2
INTEGER*4  INTEGER*2
INTEGER*4 
IMIN0
JMIN0 
Minimum ^{1}
Minimum ^{1}
 INTEGER*2
INTEGER*4  INTEGER*2
INTEGER*4 
IIDIM
JIDIM 
Positive difference [The positive difference is: a1min(a1,a2))]
Positive difference ^{2}
 INTEGER*2
INTEGER*4  INTEGER*2
INTEGER*4 
IMOD
JMOD 
Remainder of a1/a2
Remainder of a1/a2
 INTEGER*2
INTEGER*4  INTEGER*2
INTEGER*4 
IISIGN
JISIGN 
Transfer of sign, a1* sign(a2)
Transfer of sign, a1* sign(a2)
 INTEGER*2
INTEGER*4  INTEGER*2
INTEGER*4 