SciRuby/distribution

View on GitHub
lib/distribution/normal/java.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Distribution
  module Normal
    # TODO
    module Java_
      class << self
        #==
        # Generate random variables from the provided distribution
        def rng(mean = 0, sigma = 1, _seed = nil)
          dist = NormalDistributionImpl.new(mean, sigma)
          -> { dist.sample }
        end

        #==
        # Return the probability density function at x
        def pdf(x)
          dist = NormalDistributionImpl.new
          dist.density(x)
        end

        #==
        # Return the cumulative density function at x
        def cdf(x)
          dist = NormalDistributionImpl.new
          dist.cumulativeProbability(x)
        end

        #==
        # Get the inverse cumulative density function (p-value) for qn
        def quantile(qn)
          dist = NormalDistributionImpl.new
          dist.inverseCumulativeProbability(qn)
        end

        alias_method :p_value, :quantile
      end
    end
  end
end