f95 allows the following nonstandard type declaration forms in declaration statements, function statements, and IMPLICIT statements. The form in column one is nonstandard Fortran, though in common use. The kind numbers in column two can vary by vendor.
Table 4–2 Size Notation for Numeric Data Types
Nonstandard |
Declarator |
Short Form |
Meaning |
---|---|---|---|
INTEGER*1 |
INTEGER(KIND=1) |
INTEGER(1) |
One-byte signed integers |
INTEGER*2 |
INTEGER(KIND=2) |
INTEGER(2) |
Two-byte signed integers |
INTEGER*4 |
INTEGER(KIND=4) |
INTEGER(4) |
Four-byte signed integers |
LOGICAL*1 |
LOGICAL(KIND=1) |
LOGICAL(1) |
One-byte logicals |
LOGICAL*2 |
LOGICAL(KIND=2) |
LOGICAL(2) |
Two-byte logicals |
LOGICAL*4 |
LOGICAL(KIND=4) |
LOGICAL(4) |
Four-byte logicals |
REAL*4 |
REAL(KIND=4) |
REAL(4) |
IEEE single-precision four-byte floating-point |
REAL*8 |
REAL(KIND=8) |
REAL(8) |
IEEE double-precision eight-byte floating-point |
REAL*16 |
REAL(KIND=16) |
REAL(16) |
IEEE quad-precision sixteen-byte floating-point |
COMPLEX*8 |
COMPLEX(KIND=4) |
COMPLEX(4) |
Single-precision complex (four bytes each part) |
COMPLEX*16 |
COMPLEX(KIND=8) |
COMPLEX(8) |
Double-precision complex (eight bytes each part) |
COMPLEX*32 |
COMPLEX(KIND=16) |
COMPLEX(16) |
Quad-precision complex (sixteen bytes each part) |