Module: Distribution

Defined in:
lib/distribution.rb,
lib/distribution/f.rb,
lib/distribution/t.rb,
lib/distribution/f/gsl.rb,
lib/distribution/t/gsl.rb,
lib/distribution/f/java.rb,
lib/distribution/f/ruby.rb,
lib/distribution/normal.rb,
lib/distribution/t/java.rb,
lib/distribution/t/ruby.rb,
lib/distribution/poisson.rb,
lib/distribution/binomial.rb,
lib/distribution/logistic.rb,
lib/distribution/chisquare.rb,
lib/distribution/normal/gsl.rb,
lib/distribution/exponential.rb,
lib/distribution/normal/java.rb,
lib/distribution/normal/ruby.rb,
lib/distribution/poisson/gsl.rb,
lib/distribution/binomial/gsl.rb,
lib/distribution/poisson/ruby.rb,
lib/distribution/binomial/java.rb,
lib/distribution/binomial/ruby.rb,
lib/distribution/chisquare/gsl.rb,
lib/distribution/f/statistics2.rb,
lib/distribution/logistic/ruby.rb,
lib/distribution/t/statistics2.rb,
lib/distribution/chisquare/java.rb,
lib/distribution/chisquare/ruby.rb,
lib/distribution/hypergeometric.rb,
lib/distribution/bivariatenormal.rb,
lib/distribution/exponential/gsl.rb,
lib/distribution/exponential/ruby.rb,
lib/distribution/hypergeometric/gsl.rb,
lib/distribution/normal/statistics2.rb,
lib/distribution/normalmultivariate.rb,
lib/distribution/bivariatenormal/gsl.rb,
lib/distribution/hypergeometric/java.rb,
lib/distribution/hypergeometric/ruby.rb,
lib/distribution/bivariatenormal/java.rb,
lib/distribution/bivariatenormal/ruby.rb,
lib/distribution/chisquare/statistics2.rb,
lib/distribution/math_extension.rb

Overview

Added by John O. Woods, SciRuby project. Optimized by Claudio Bustos

Defined Under Namespace

Modules: Binomial, BivariateNormal, ChiSquare, Distributable, Exponential, F, Hypergeometric, Logistic, MathExtension, MathExtension18, Normal, NormalMultivariate, Poisson, Shorthand, T

Constant Summary collapse

VERSION =
"0.5.0"
SQ2PI =
Math.sqrt(2 * Math::PI)

Class Method Summary collapse

Class Method Details

.create_has_library(library) ⇒ Object

Create a method ‘has_<library>’ on Module which require a library and return true or false according to success of failure



73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/distribution.rb', line 73

def self.create_has_library(library) #:nodoc:
  define_singleton_method("has_#{library}?") do
    cv="@@#{library}"
    if !class_variable_defined? cv
      begin 
        require library.to_s
        class_variable_set(cv, true)
      rescue LoadError
        class_variable_set(cv, false)
      end
    end
    class_variable_get(cv)
  end
end

.libraries_orderObject

Retrieves the libraries used to calculate distributions



89
90
91
92
93
94
95
# File 'lib/distribution.rb', line 89

def self.libraries_order
  order=[:Ruby_]
  order.unshift(:Statistics2_) if has_statistics2?
  order.unshift(:GSL_) if has_gsl?
  order.unshift(:Java_) if has_java?
  order
end