Class: Capricious::Normal

Inherits:
Object
  • Object
show all
Includes:
PRNG
Defined in:
lib/capricious/normal.rb

Overview

Normal-distribution PRNG, uses polar form of Box-Muller transform.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from PRNG

included, #next, #prng_initialize, #reset

Constructor Details

#initialize(mean, variance, seed = nil, policy = MWC5, keep_stats = false) ⇒ Normal

Initializes a new distribution. mean and variance are the distribution parameters; =seed=,

policy=, and =keep_stats= are as in =PRNG=.



30
31
32
33
34
35
36
# File 'lib/capricious/normal.rb', line 30

def initialize(mean, variance, seed=nil, policy=MWC5, keep_stats=false)
  @expected_mean = mean.to_f
  @expected_variance = variance.to_f
  @stddev = Math.sqrt(@expected_variance)
  @values = []
  prng_initialize(seed, policy, keep_stats)
end

Instance Attribute Details

#expected_meanObject (readonly)

Returns the value of attribute expected_mean.



26
27
28
# File 'lib/capricious/normal.rb', line 26

def expected_mean
  @expected_mean
end

#expected_varianceObject (readonly)

Returns the value of attribute expected_variance.



26
27
28
# File 'lib/capricious/normal.rb', line 26

def expected_variance
  @expected_variance
end