Sha256: 0b6932985863d2a6703df1268cb388af9f352f91ee6af1ca421e4fb1acdb60ed
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module Distribution module Uniform module GSL_ class << self # Returns a lambda to call for uniformly distributed random numbers # returns a double precision float in [0, 1] def rng(lower = 0, upper = 1, seed = nil) seed = Random.new_seed.modulo 100000007 if seed.nil? rng = GSL::Rng.alloc(GSL::Rng::MT19937, seed) -> { lower + (upper - lower) * rng.uniform } end # :nodoc: def pdf(x, lower = 0, upper = 1) # rb-gsl/blob/master/ext/gsl_native/randist.c#L1732 GSL::Ran.flat_pdf(x, lower, upper) end # :nodoc: def cdf(x, lower = 0, upper = 1) # rb-gsl/blob/master/ext/gsl_native/cdf.c#L644 GSL::Cdf.flat_P(x, lower, upper) end # :nodoc: def quantile(qn, lower, upper) # rb-gsl/blob/master/ext/gsl_native/cdf.c#L646 GSL::Cdf.flat_Pinv(qn, lower, upper) end alias_method :p_value, :quantile end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
distribution-0.8.0 | lib/distribution/uniform/gsl.rb |