class RandomVariateGenerator::RandomVariate

Public Class Methods

create(distribution_name, args = {}) click to toggle source
# 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

Public Instance Methods

generate_value() click to toggle source
# File lib/random_variate_generator/random_variate.rb, line 30
def generate_value
  raise AbstractClassException
end