21 #include "./base/base_uses.f90"
27 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'input_restart_rng'
45 TYPE(section_vals_type),
POINTER :: rng_section
46 INTEGER,
INTENT(IN) :: nsize
47 INTEGER,
DIMENSION(:, :) :: ascii
49 CHARACTER(LEN=rng_record_length) :: rng_record
50 INTEGER :: ik, irk, nlist
51 TYPE(cp_sll_val_type),
POINTER :: new_pos, vals
52 TYPE(section_type),
POINTER :: section
53 TYPE(val_type),
POINTER :: my_val, old_val
55 cpassert(
ASSOCIATED(rng_section))
56 cpassert(rng_section%ref_count > 0)
58 NULLIFY (my_val, old_val, section, vals)
60 section => rng_section%section
65 CALL cp_abort(__location__, &
66 "section "//trim(section%name)//
" does not contain keyword "// &
70 IF (
SIZE(rng_section%values, 2) == 1)
EXIT
74 vals => rng_section%values(ik, 1)%list
77 IF (
ASSOCIATED(vals))
THEN
90 new_pos => new_pos%rest
92 old_val => new_pos%first_el
94 new_pos%first_el => my_val
101 NULLIFY (new_pos%rest)
103 new_pos => new_pos%rest
111 rng_section%values(ik, 1)%list => vals
Parallel (pseudo)random number generator (RNG) for multiple streams and substreams of random numbers.
integer, parameter, public rng_record_length
Utilities for string manipulations.
subroutine, public ascii_to_string(nascii, string)
Convert a sequence of integer numbers (ASCII code) to a string. Blanks are inserted for invalid ASCII...