36 integer,
parameter,
public :: i_byte = selected_int_kind(1)
37 integer,
parameter,
public :: i_short = selected_int_kind(4)
38 integer,
parameter,
public :: i_long = selected_int_kind(8)
39 integer,
parameter,
private :: llong_t = selected_int_kind(16)
40 integer,
parameter,
public :: i_llong = max( llong_t, i_long )
43 integer,
parameter,
public :: num_bytes_for_i_byte = 1
44 integer,
parameter,
public :: num_bytes_for_i_short = 2
45 integer,
parameter,
public :: num_bytes_for_i_long = 4
46 integer,
parameter,
public :: num_bytes_for_i_llong = 8
49 integer,
parameter,
private :: num_i_kinds = 4
50 integer,
parameter,
dimension( num_i_kinds ),
private :: integer_types = (/ &
51 i_byte, i_short, i_long, i_llong /)
52 integer,
parameter,
dimension( num_i_kinds ),
private :: integer_byte_sizes = (/ &
53 num_bytes_for_i_byte, num_bytes_for_i_short, &
54 num_bytes_for_i_long, num_bytes_for_i_llong /)
58 #if defined(GSDRAPR) || defined(COMMCODE)
59 integer,
parameter,
private :: default_integer = 3
61 integer,
parameter,
private :: default_integer = 2
66 integer,
parameter,
public :: i_kind = integer_types( default_integer )
67 integer,
parameter,
public :: num_bytes_for_i_kind = &
68 integer_byte_sizes( default_integer )
74 integer,
parameter,
public :: r_single = selected_real_kind(6)
75 integer,
parameter,
public :: r_double = selected_real_kind(15)
76 integer,
parameter,
private :: quad_t = selected_real_kind(20)
77 integer,
parameter,
public :: r_quad = max( quad_t, r_double )
80 integer,
parameter,
public :: num_bytes_for_r_single = 4
81 integer,
parameter,
public :: num_bytes_for_r_double = 8
82 integer,
parameter,
public :: num_bytes_for_r_quad = 16
85 integer,
parameter,
private :: num_r_kinds = 3
86 integer,
parameter,
dimension( num_r_kinds ),
private :: real_kinds = (/ &
87 r_single, r_double, r_quad /)
88 integer,
parameter,
dimension( num_r_kinds ),
private :: real_byte_sizes = (/ &
89 num_bytes_for_r_single, num_bytes_for_r_double, &
90 num_bytes_for_r_quad /)
94 integer,
parameter,
private :: default_real = 1
97 integer,
parameter,
public :: r_kind = real_kinds( default_real )
98 integer,
parameter,
public :: num_bytes_for_r_kind = &
99 real_byte_sizes( default_real )