random_norm Function

private function random_norm(mean, sigma)

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: mean
real(kind=rp), intent(in) :: sigma

Return Value real(kind=rp)


Called by

proc~~random_norm~6~~CalledByGraph proc~random_norm~6 random_norm proc~sample_hollmann_distribution sample_Hollmann_distribution proc~sample_hollmann_distribution->proc~random_norm~6 proc~sample_distribution~2 sample_distribution proc~sample_distribution~2->proc~random_norm~6 proc~get_experimentalg_distribution get_experimentalG_distribution proc~get_experimentalg_distribution->proc~sample_distribution~2 proc~get_hollmann_distribution get_Hollmann_distribution proc~get_hollmann_distribution->proc~sample_hollmann_distribution

Contents

Source Code


Source Code

  FUNCTION random_norm(mean,sigma)
    REAL(rp), INTENT(IN) :: mean
    REAL(rp), INTENT(IN) :: sigma
    REAL(rp) :: random_norm
    REAL(rp) :: rand1, rand2

    call RANDOM_NUMBER(rand1)
    call RANDOM_NUMBER(rand2)

    random_norm = mean+sigma*SQRT(-2.0_rp*LOG(rand1))*COS(2.0_rp*C_PI*rand2)
  END FUNCTION random_norm