Class: RandomVariateGenerator::RandomVariate
- Inherits:
-
Object
- Object
- RandomVariateGenerator::RandomVariate
- Defined in:
- lib/random_variate_generator/random_variate.rb
Direct Known Subclasses
BernoulliVariate, BinomialVariate, EmpiricalVariate, ExponentialVariate, GeometricVariate, NegativeBinomialVariate, NormalVariate, PoissonVariate, TriangularVariate, UniformVariate
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.create(distribution_name, args = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/random_variate_generator/random_variate.rb', line 5 def self.create(distribution_name, args = {}) if distribution_name.to_s == "exponential" return ExponentialVariate.new args elsif distribution_name.to_s == "normal" return NormalVariate.new args elsif distribution_name.to_s == "uniform" return UniformVariate.new args elsif distribution_name.to_s == "triangular" return TriangularVariate.new args elsif distribution_name.to_s == "binomial" return BinomialVariate.new args elsif distribution_name.to_s == "geometric" return GeometricVariate.new args elsif distribution_name.to_s == "negative_binomial" return NegativeBinomialVariate.new args elsif distribution_name.to_s == "bernoulli" return BernoulliVariate.new args elsif distribution_name.to_s == "poisson" return PoissonVariate.new args elsif distribution_name.to_s == "empirical" return EmpiricalVariate.new args end raise InvalidParameterException.new "Unknowed distribution" end |
Instance Method Details
#generate_value ⇒ Object
30 31 32 |
# File 'lib/random_variate_generator/random_variate.rb', line 30 def generate_value raise AbstractClassException end |