Class: RandomVariateGenerator::TriangularVariate

Inherits:
RandomVariate show all
Defined in:
lib/random_variate_generator/triangular_variate.rb

Instance Method Summary collapse

Methods inherited from RandomVariate

create

Constructor Details

#initialize(params = {}) ⇒ TriangularVariate

Returns a new instance of TriangularVariate.



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

def initialize(params = {})
   if params[:min] && params[:mode] && params[:max]
     @min = params[:min] 
     @mode = params[:mode]
     @max = params[:max]   
   else
     raise InvalidParameterException.new "Parameter :min, :mode or :max no specified"
   end 
   raise InvalidParameterException.new "Parameter :max must be greater than :mode" if @mode >= @max
   raise InvalidParameterException.new "Parameter :max must be greater than :min" if @min >= @max
   raise InvalidParameterException.new "Parameter :mode must be greater than :min" if @min >= @mode             
end

Instance Method Details

#generate_valueObject



17
18
19
# File 'lib/random_variate_generator/triangular_variate.rb', line 17

def generate_value
  Random.triangular(:min => @min, :mode => @mode, :max => @max)
end