Class: Croupier::Distributions::Bernoulli
- Inherits:
-
Croupier::Distribution
- Object
- Croupier::Distribution
- Croupier::Distributions::Bernoulli
- Defined in:
- lib/croupier/distributions/bernoulli.rb
Overview
Bernoulli Distribution Discrete probability distribution taking value 1 with success probability p and value 0 with failure probability 1-p Equivalent to a Binomial(1,p)
Instance Attribute Summary
Attributes inherited from Croupier::Distribution
#description, #name, #parameters
Class Method Summary collapse
Instance Method Summary collapse
- #default_parameters ⇒ Object
- #generate_number ⇒ Object
-
#initialize(options = {}) ⇒ Bernoulli
constructor
A new instance of Bernoulli.
Methods inherited from Croupier::Distribution
#configure, #generate_sample, #params, #to_enum
Constructor Details
#initialize(options = {}) ⇒ Bernoulli
Returns a new instance of Bernoulli.
11 12 13 14 15 16 |
# File 'lib/croupier/distributions/bernoulli.rb', line 11 def initialize(={}) @name = "Bernoulli distribution" @description = "Discrete probability distribution taking value 1 with success probability p and value 0 with failure probability 1-p." configure() raise Croupier::InputParamsError, "Probability of success must be in the interval [0,1]" if params[:success] > 1 || params[:success] < 0 end |
Class Method Details
.cli_name ⇒ Object
26 27 28 |
# File 'lib/croupier/distributions/bernoulli.rb', line 26 def self.cli_name "bernoulli" end |
.cli_options ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/croupier/distributions/bernoulli.rb', line 30 def self. {:options => [ [:success, 'success probability', {:type=>:float, :short => "-p", :default => 0.5}] ], :banner => "Bernoulli distribution. Discrete probability distribution taking value 1 with success probability p and value 0 with failure probability 1-p." } end |
Instance Method Details
#default_parameters ⇒ Object
22 23 24 |
# File 'lib/croupier/distributions/bernoulli.rb', line 22 def default_parameters {:success => 0.5} end |
#generate_number ⇒ Object
18 19 20 |
# File 'lib/croupier/distributions/bernoulli.rb', line 18 def generate_number binomial_1_p.generate_number end |