Class: Capricious::Normal
- Inherits:
-
Object
- Object
- Capricious::Normal
- Includes:
- PRNG
- Defined in:
- lib/capricious/normal.rb
Overview
Normal-distribution PRNG, uses polar form of Box-Muller transform.
Instance Attribute Summary collapse
-
#expected_mean ⇒ Object
readonly
Returns the value of attribute expected_mean.
-
#expected_variance ⇒ Object
readonly
Returns the value of attribute expected_variance.
Instance Method Summary collapse
-
#initialize(mean, variance, seed = nil, policy = MWC5, keep_stats = false) ⇒ Normal
constructor
Initializes a new distribution.
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_mean ⇒ Object (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_variance ⇒ Object (readonly)
Returns the value of attribute expected_variance.
26 27 28 |
# File 'lib/capricious/normal.rb', line 26 def expected_variance @expected_variance end |