Class: RV::Uniform

Inherits:
Object
  • Object
show all
Includes:
RV_Generator
Defined in:
lib/random_variates.rb

Overview

Generate values uniformly distributed between min and max.

Arguments
  • min -> the lower bound for the range (default: 0).

  • max -> the upper bound for the range (default: 1).

  • rng -> the (Enumerable) source of U(0, 1)‘s (default: U_GENERATOR)

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from RV_Generator

#each

Constructor Details

#initialize(min: 0.0, max: 1.0, rng: U_GENERATOR) ⇒ Uniform

Returns a new instance of Uniform.



51
52
53
54
55
56
# File 'lib/random_variates.rb', line 51

def initialize(min: 0.0, max: 1.0, rng: U_GENERATOR)
  raise 'Max must be greater than min.' unless max > min
  @min = min
  @max = max
  @rng = rng
end

Instance Attribute Details

#maxObject (readonly)

Returns the value of attribute max.



49
50
51
# File 'lib/random_variates.rb', line 49

def max
  @max
end

#minObject (readonly)

Returns the value of attribute min.



49
50
51
# File 'lib/random_variates.rb', line 49

def min
  @min
end

Instance Method Details

#nextObject



58
59
60
# File 'lib/random_variates.rb', line 58

def next
  @rng.rand(@min..@max)
end