Logical data types can be specified as follows:
LOGICAL
LOGICAL([KIND=]n)
LOGICAL*n
n |
Is a constant expression that evaluates to kind 1, 2, 4, or 8. The named constants for LOGICAL kind values are defined in the intrinsic module ISO_FORTRAN_ENV: LOGICAL8=1, LOGICAL16=2,LOGICAL32=4, and LOGICAL64=8. |
If a kind parameter is specified, the logical constant has the kind specified. If no kind parameter is specified, the kind of the constant is default logical. The intrinsic inquiry function KIND returns the kind type parameter of its argument if you do not know it. You can use the SELECTED_LOGICAL_KIND intrinsic to find the kind type parameter of a logical type whose storage size is at least as many bits as the argument.
The following examples show how logical variables can be declared.
An entity-oriented example is:
LOGICAL, ALLOCATABLE :: flag1, flag2
LOGICAL (KIND = byte), SAVE :: doit, dontAn attribute-oriented example is:
LOGICAL flag1, flag2
LOGICAL (KIND = byte) doit, dont
ALLOCATABLE flag1, flag2
SAVE doit, dont