MODULE The_KindsΒΆ

Module The_Kinds exports symbolic names for kinds of logical, integer, real or complex types available on the computer.

Here is the list of the useful symbolic names exported by module The_Kinds:

!
! SYMBOLIC NAME FOR DEFAULT KIND OF LOGICAL:
!
integer, parameter :: logic = kind( .true. )
!
! SYMBOLIC NAMES FOR KIND TYPES OF LOGICAL:
!
integer, parameter :: logic0 = 0
integer, parameter :: logic1 = 1
integer, parameter :: logic2 = 2
integer, parameter :: logic4 = 4
!
! SYMBOLIC NAMES FOR KIND TYPES OF 1-, 2-, 4- and 8-BYTES INTEGERS:
!
integer, parameter :: i1b = selected_int_kind( 2  )
integer, parameter :: i2b = selected_int_kind( 4  )
integer, parameter :: i4b = selected_int_kind( 9  )
integer, parameter :: i8b = selected_int_kind( 10 )
!
! SYMBOLIC NAMES FOR KIND TYPES OF SINGLE-, DOUBLE- and QUADRUPLE-PRECISION REAL
! AND COMPLEX NUMBERS:
!
integer, parameter :: sp = kind( 1.0   )
integer, parameter :: dp = kind( 1.0d0 )
integer, parameter :: qp = selected_real_kind( precision( 1.0d0 ) + 1 )
!
! THE qp KIND TYPE MAY NOT BE AVAILABLE ON YOUR COMPUTER.
!
! PRECISION SPECIFICATIONS FOR REAL AND COMPLEX COMPUTATIONS:
!
integer, parameter :: low = selected_real_kind( 6, 35 )
integer, parameter :: normal = selected_real_kind( 12, 50 )
integer, parameter :: extended = selected_real_kind( 20, 80 )
!
! THESE PRECISION SPECIFICATIONS REQUEST, RESPECTIVELY, 6, 12, 20 DECIMAL DIGITS OF
! PRECISION AND AN EXPONENT RANGE OF AT LEAST 10 ^ +- 35, 10 ^ +- 50 AND 10 ^ +- 80.
! THE extended PRECISION MAY NOT BE AVAILABLE ON YOUR COMPUTER.
!

To know the available kind types and precisions on your computer, you can use the program test_kind.F90 , e.g., simply execute the make command:

$ make test_kind

in the main STATPACK directory.

The choice between these different kind types and precisions for compiling a version of STATPACK is done in the module Select_Parameters (see the source file Module_Select_Parameters.F90).

Flag Counter