|
|
|
|
|
|
|
|
|
|
|
|
| module bob_kinds
|
| use, intrinsic :: iso_c_binding, only: c_int, c_int64_t, c_double, c_float, c_bool, c_char
|
| implicit none
|
| private
|
|
|
|
|
| public :: c_int, c_int64_t, c_double, c_float, c_bool, c_char
|
|
|
|
|
| integer, parameter, public :: i4 = c_int
|
| integer, parameter, public :: i8 = c_int64_t
|
|
|
|
|
| integer, parameter, public :: sp = c_float
|
| integer, parameter, public :: dp = c_double
|
|
|
|
|
| integer, parameter, public :: wp = dp
|
|
|
|
|
| integer, parameter, public :: cwp = wp
|
|
|
|
|
| integer, parameter, public :: lk = c_bool
|
|
|
|
|
| integer, parameter, public :: ck = c_char
|
| integer, parameter, public :: i1 = 1
|
|
|
|
|
| real(wp), parameter, public :: PI = 3.141592653589793238462643383279502884197_wp
|
| real(wp), parameter, public :: QUART = 0.25_wp
|
| real(wp), parameter, public :: HBAR = 1.054571817e-34_wp
|
| real(wp), parameter, public :: ZERO = 0.0_wp
|
| real(wp), parameter, public :: ONE = 1.0_wp
|
| real(wp), parameter, public :: TWO = 2.0_wp
|
| real(wp), parameter, public :: HALF = 0.5_wp
|
|
|
|
|
| complex(cwp), parameter, public :: CZERO = (0.0_wp, 0.0_wp)
|
| complex(cwp), parameter, public :: CONE = (1.0_wp, 0.0_wp)
|
| complex(cwp), parameter, public :: CI = (0.0_wp, 1.0_wp)
|
|
|
|
|
| real(wp), parameter, public :: TOL_NORM = 1.0e-10_wp
|
| real(wp), parameter, public :: TOL_HERMITIAN = 1.0e-12_wp
|
| real(wp), parameter, public :: TOL_UNITARY = 1.0e-10_wp
|
|
|
| end module bob_kinds
|
|
|
|
|
|
|