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 INTEGER-to-INTEGER 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 6-12 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: a1-min(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 |