radiation_random_numbers Module


Uses

  • module~~radiation_random_numbers~~UsesGraph module~radiation_random_numbers radiation_random_numbers module~parkind1~2 PARKIND1 module~radiation_random_numbers->module~parkind1~2

Used by

  • module~~radiation_random_numbers~~UsedByGraph module~radiation_random_numbers radiation_random_numbers proc~generate_columns_exp_ran generate_columns_exp_ran proc~generate_columns_exp_ran->module~radiation_random_numbers program~test_random_number_generator test_random_number_generator program~test_random_number_generator->module~radiation_random_numbers proc~generate_columns_exp_ran~2 generate_columns_exp_ran proc~generate_columns_exp_ran~2->module~radiation_random_numbers

Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=jpim), public, parameter :: NMaxStreams = 512
real(kind=jprd), public, parameter :: IMinstdA = 48271
real(kind=jprd), public, parameter :: IMinstdM = 2147483647
real(kind=jprd), public, parameter :: IMinstdA0 = 16807
real(kind=jprb), public, parameter :: IMinstdScale = 1.0_jprb/real(IMinstdM, jprb)

Enumerations

enum, bind(c)

Enumerators

enumerator:: IRngNative = 0
enumerator:: IRngMinstdVector = 1

Derived Types

type, public ::  rng_type

Components

Type Visibility Attributes Name Initial
integer(kind=jpim), public :: itype = IRngNative
real(kind=jprd), public :: istate(NMaxStreams)
integer(kind=jpim), public :: nmaxstreams = NMaxStreams
integer(kind=jpim), public :: iseed

Type-Bound Procedures

procedure , public :: initialize Subroutine
procedure , public :: uniform_distribution_2d_masked Subroutine
procedure , public :: uniform_distribution_2d Subroutine
procedure , public :: uniform_distribution_1d Subroutine
generic, public :: uniform_distribution => uniform_distribution_1d, uniform_distribution_2d, uniform_distribution_2d_masked

Subroutines

public subroutine initialize(this, itype, iseed, nmaxstreams)

Arguments

Type IntentOptional Attributes Name
class(rng_type), intent(inout) :: this
integer(kind=jpim), intent(in), optional :: itype
integer(kind=jpim), intent(in), optional :: iseed
integer(kind=jpim), intent(in), optional :: nmaxstreams

public subroutine uniform_distribution_1d(this, randnum)

Arguments

Type IntentOptional Attributes Name
class(rng_type), intent(inout) :: this
real(kind=jprb), intent(out) :: randnum(:)

public subroutine uniform_distribution_2d(this, randnum)

Arguments

Type IntentOptional Attributes Name
class(rng_type), intent(inout) :: this
real(kind=jprb), intent(out) :: randnum(:,:)

public subroutine uniform_distribution_2d_masked(this, randnum, mask)

Arguments

Type IntentOptional Attributes Name
class(rng_type), intent(inout) :: this
real(kind=jprb), intent(inout) :: randnum(:,:)
logical, intent(in) :: mask(:)