Generates m x n random numbers with a normal distribution.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=ik), | intent(in) | :: | m | |||
| integer(kind=ik), | intent(in) | :: | n |
function randn2d(m, n) result(r)
!! Generates m x n random numbers with a normal distribution.
integer(ik), intent(in) :: m, n
real(rk) :: r(m, n), r2(m, n)
call random_number(r)
call random_number(r2)
r = sqrt(-2 * log(r)) * cos(2 * pi * r2)
end function randn2d