Class: RandomVariateGenerator::NegativeBinomialVariate

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

Instance Method Summary collapse

Methods inherited from RandomVariate

create

Constructor Details

#initialize(params = {}) ⇒ NegativeBinomialVariate

Returns a new instance of NegativeBinomialVariate.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/random_variate_generator/negative_binomial_variate.rb', line 4

def initialize(params = {})
   if params[:probability_of_success]
     @probability_of_success = params[:probability_of_success] 
   else
     raise InvalidParameterException.new "Parameter :probability_of_success no specified"
   end
   raise InvalidParameterException.new "Parameter :probability_of_success must be greater than 0" if @probability_of_success <= 0
   if params[:number_of_success]
     @number_of_success = params[:number_of_success] 
   else
     raise InvalidParameterException.new "Parameter :number_of_success no specified"
   end
   raise InvalidParameterException.new "Parameter :number_of_success must be greater than 0" if @number_of_success <= 0
end

Instance Method Details

#generate_valueObject



19
20
21
22
23
# File 'lib/random_variate_generator/negative_binomial_variate.rb', line 19

def generate_value
  Random.negative_binomial(
    :probability_of_success => @probability_of_success,
    :number_of_success => @number_of_success)
end