module ML::Util

Public Instance Methods

normal_distribution(mean, variance) click to toggle source
# File lib/util/util.rb, line 5
def normal_distribution mean, variance
  if @y
    y = @y
    @y = nil
    return y
  end

  theta = 2 * Math::PI * rand
  rho = Math.sqrt(-2 * Math.log(1 - rand))
  scale = variance * rho
  x = mean + scale * Math.cos(theta)
  @y = mean + scale * Math.sin(theta)
  x
end