class Spark::RandomGenerator::Poisson
Public Class Methods
new(mean, seed)
click to toggle source
# File lib/spark/sampler.rb, line 8 def initialize(mean, seed) generator = Random.new(seed) @exp_rng = Distribution::Exponential.rng(1.0/mean, random: generator) end
Public Instance Methods
rand()
click to toggle source
# File lib/spark/sampler.rb, line 13 def rand t = 0.0 number = 0 loop{ t += @exp_rng.call if t > 1 return number end number += 1 } end