Selecting kind parameters by an explicit integer is still not portable,
the explicit integer will correspond to different precisions on
different machines, a mechanism is needed to select a kind value on the
basis of the desired precision.
For integers this can only be achieved by using the SELECTED_INT_KIND intrinsic function.
For example, SELECTED_INT_KIND(2) returns an integer which corresponds
to the kind representation capable of expressing numbers in
the range,
. In the case of SELECTED_INT_KIND the argument
specifies the minimum decimal exponent range for the desired model.
For example,
INTEGER :: short, medium, long, vlong
PARAMETER (short = SELECTED_INT_KIND(2), medium = SELECTED_INT_KIND(4), &
long = SELECTED_INT_KIND(10), vlong = SELECTED_INT_KIND(100))
INTEGER(short) :: a,b,c
INTEGER(medium) :: d,e,f
INTEGER(long) :: g,h,i
The above declarations specify that precision should be at least:
Return to corresponding overview page