Class: RandomVariateGenerator::RandomVariate

Inherits:
Object
  • Object
show all
Defined in:
lib/random_variate_generator/random_variate.rb

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_valueObject



30
31
32
# File 'lib/random_variate_generator/random_variate.rb', line 30

def generate_value
  raise AbstractClassException
end