randind Interface

public interface randind

Procedure for generating a random array index/subscripts

Called by

interface~~randind~~CalledByGraph interface~randind randind proc~mc_fastion_pass_grid mc_fastion_pass_grid proc~mc_fastion_pass_grid->interface~randind proc~ndmc ndmc proc~ndmc->interface~randind proc~store_neutrals store_neutrals proc~ndmc->proc~store_neutrals proc~parallel_merge_populations parallel_merge_populations proc~ndmc->proc~parallel_merge_populations proc~update_reservoir update_reservoir proc~update_reservoir->interface~randind proc~fida_weights_mc fida_weights_mc proc~fida_weights_mc->interface~randind proc~mc_fastion mc_fastion proc~mc_fastion->interface~randind program~fidasim fidasim program~fidasim->proc~ndmc program~fidasim->proc~fida_weights_mc proc~pnpa_f pnpa_f program~fidasim->proc~pnpa_f proc~fida_f fida_f program~fidasim->proc~fida_f proc~npa_f npa_f program~fidasim->proc~npa_f proc~pfida_f pfida_f program~fidasim->proc~pfida_f proc~dcx dcx program~fidasim->proc~dcx proc~halo halo program~fidasim->proc~halo proc~pfida_mc pfida_mc program~fidasim->proc~pfida_mc proc~fida_mc fida_mc program~fidasim->proc~fida_mc proc~merge_reservoirs merge_reservoirs proc~merge_reservoirs->proc~update_reservoir proc~pnpa_f->proc~mc_fastion_pass_grid proc~fida_f->proc~mc_fastion proc~store_photon_birth store_photon_birth proc~fida_f->proc~store_photon_birth proc~parallel_merge_reservoirs parallel_merge_reservoirs proc~fida_f->proc~parallel_merge_reservoirs proc~store_photon_birth->proc~update_reservoir proc~update_neutrals update_neutrals proc~update_neutrals->proc~update_reservoir proc~npa_f->proc~mc_fastion proc~pfida_f->proc~mc_fastion_pass_grid proc~pfida_f->proc~store_photon_birth proc~pfida_f->proc~parallel_merge_reservoirs proc~merge_neutral_populations merge_neutral_populations proc~merge_neutral_populations->proc~merge_reservoirs proc~dcx->proc~store_photon_birth proc~dcx->proc~parallel_merge_reservoirs proc~dcx->proc~store_neutrals proc~dcx->proc~parallel_merge_populations proc~parallel_merge_reservoirs->proc~merge_reservoirs proc~store_neutrals->proc~update_neutrals proc~halo->proc~store_photon_birth proc~halo->proc~update_neutrals proc~halo->proc~merge_neutral_populations proc~halo->proc~parallel_merge_reservoirs proc~halo->proc~parallel_merge_populations proc~pfida_mc->proc~store_photon_birth proc~pfida_mc->proc~parallel_merge_reservoirs proc~fida_mc->proc~store_photon_birth proc~fida_mc->proc~parallel_merge_reservoirs proc~parallel_merge_populations->proc~parallel_merge_reservoirs

Contents


Module Procedures

private subroutine randind_n(n, randomi)

Generate a array of uniformally-distributed random integers in the range [1, n]

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: n

Largest possible value

integer, intent(out), dimension(:):: randomi

Array of uniform deviates

private subroutine randind_w_1(w, randomi)

Generate an array of random indices of an 1D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:):: w

1D array of index weights

integer, intent(out), dimension(:):: randomi

Random indices

private subroutine randind_w_2(w, randomi)

Generate an array of random subscripts of an 2D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:,:):: w

2D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_w_3(w, randomi)

Generate an array of random subscripts of an 3D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:,:,:):: w

3D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_w_4(w, randomi)

Generate an array of random subscripts of an 4D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:,:,:,:):: w

4D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_w_5(w, randomi)

Generate an array of random subscripts of an 5D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:,:,:,:,:):: w

5D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_r_n(r, n, randomi)

Generate a array of uniformally-distributed random integers in the range [1, n]

Arguments

TypeIntentOptionalAttributesName
type(rng_type), intent(inout) :: r

Random Number Generator

integer, intent(in) :: n

Largest possible value

integer, intent(out), dimension(:):: randomi

Array of uniform deviates

private subroutine randind_r_w_1(r, w, randomi)

Generate an array of random indices of an 1D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
type(rng_type), intent(inout) :: r

Random Number Generator

real(kind=Float64), intent(in), dimension(:):: w

1D array of index weights

integer, intent(out), dimension(:):: randomi

Random indices

private subroutine randind_r_w_2(r, w, randomi)

Generate an array of random subscripts of an 2D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
type(rng_type), intent(inout) :: r

Random Number Generator

real(kind=Float64), intent(in), dimension(:,:), target:: w

2D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_r_w_3(r, w, randomi)

Generate an array of random subscripts of an 3D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
type(rng_type), intent(inout) :: r

Random Number Generator

real(kind=Float64), intent(in), dimension(:,:,:), target:: w

3D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_r_w_4(r, w, randomi)

Generate an array of random subscripts of an 4D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
type(rng_type), intent(inout) :: r

Random Number Generator

real(kind=Float64), intent(in), dimension(:,:,:,:), target:: w

4D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts

private subroutine randind_r_w_5(r, w, randomi)

Generate an array of random subscripts of an 5D array distributed according to w

Arguments

TypeIntentOptionalAttributesName
type(rng_type), intent(inout) :: r

Random Number Generator

real(kind=Float64), intent(in), dimension(:,:,:,:,:), target:: w

5D array of subscript weights

integer, intent(out), dimension(:,:):: randomi

A 2D (ndim, :) array of random subscripts