13 lines
306 B
Plaintext
13 lines
306 B
Plaintext
defmodule Random do
|
|
def init() do
|
|
:random.seed(:erlang.now())
|
|
end
|
|
def normal(mean, sd) do
|
|
{a, b} = {:random.uniform(), :random.uniform()}
|
|
mean + sd * (:math.sqrt(-2 * :math.log(a)) * :math.cos(2 * :math.pi * b))
|
|
end
|
|
end
|
|
|
|
Random.init()
|
|
xs = for _ <- 1..1000, do: Random.normal(1.0, 0.5)
|