counter_uniform Function

public function counter_uniform(seed, counter, draw) result(uniform)

(seed, counter, draw) で決まる (0, 1) の一様乱数。

Arguments

Type IntentOptional Attributes Name
integer(kind=i32), intent(in) :: seed

実行の乱数 seed(run.rng_seed)。

integer(kind=i64), intent(in) :: counter(:)
integer(kind=i64), intent(in) :: draw

同じ対象の中で何番目の値か(0 以上)。

Return Value real(kind=dp)


Calls

proc~~counter_uniform~~CallsGraph proc~counter_uniform counter_uniform proc~counter_key counter_key proc~counter_uniform->proc~counter_key proc~pcg64_open_uniform pcg64_open_uniform proc~counter_uniform->proc~pcg64_open_uniform pcg64_advance pcg64_advance proc~pcg64_open_uniform->pcg64_advance pcg64_create pcg64_create proc~pcg64_open_uniform->pcg64_create pcg64_destroy pcg64_destroy proc~pcg64_open_uniform->pcg64_destroy pcg64_random_double53 pcg64_random_double53 proc~pcg64_open_uniform->pcg64_random_double53 proc~open_uniform_from_double53 open_uniform_from_double53 proc~pcg64_open_uniform->proc~open_uniform_from_double53

Called by

proc~~counter_uniform~~CalledByGraph proc~counter_uniform counter_uniform proc~sample_photo_emission_velocity sample_photo_emission_velocity proc~sample_photo_emission_velocity->proc~counter_uniform proc~secondary_emission_count secondary_emission_count proc~secondary_emission_count->proc~counter_uniform proc~sample_photo_ray_slot sample_photo_ray_slot proc~sample_photo_ray_slot->proc~sample_photo_emission_velocity

Source Code

  real(dp) function counter_uniform(seed, counter, draw) result(uniform)
    integer(i32), intent(in) :: seed
    integer(i64), intent(in) :: counter(:), draw
    integer(i64) :: state_seed, stream

    call counter_key(seed, counter, state_seed, stream)
    uniform = pcg64_open_uniform(state_seed, stream, draw)
  end function counter_uniform