Initialize a collection of rng's for parallel use
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(prng_t), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | n_proc | |||
| type(rng_t), | intent(inout) | :: | rng |
subroutine init_parallel(self, n_proc, rng) class(prng_t), intent(inout) :: self type(rng_t), intent(inout) :: rng integer, intent(in) :: n_proc integer :: n allocate(self%rngs(n_proc)) self%rngs(1) = rng do n = 2, n_proc self%rngs(n) = self%rngs(n-1) call self%rngs(n)%jump() end do end subroutine init_parallel