Method: Starter::Random::LogNormalSequence#initialize

Defined in:
lib/starter/random.rb

#initialize(opt = {}) ⇒ LogNormalSequence

Returns a new instance of LogNormalSequence.



179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/starter/random.rb', line 179

def initialize opt = {}
  @gaussian_seq = GaussianSequence.new(
    :mean   => 0,
    :stdev  => 1,
    :seed   => opt[:seed],
    :generator => opt[:generator]
  )
  
  super :generator => @gaussian_seq

  @mean = Float(opt[:mean] || 1)
  @stdev = Float(opt[:stdev] || 1)
  
  n_var = log(1 + (stdev / mean)**2)
  @sqrt_n_var = sqrt(n_var)
  @half_n_var = 0.5 * n_var
end