Class: Croupier::Distributions::Cauchy
- Inherits:
-
Croupier::Distribution
- Object
- Croupier::Distribution
- Croupier::Distributions::Cauchy
- Defined in:
- lib/croupier/distributions/cauchy.rb
Overview
Cauchy Distribution Continuous probability distribution describing resonance behavior.
Instance Attribute Summary
Attributes inherited from Croupier::Distribution
#description, #name, #parameters
Class Method Summary collapse
Instance Method Summary collapse
- #default_parameters ⇒ Object
-
#initialize(options = {}) ⇒ Cauchy
constructor
A new instance of Cauchy.
- #inv_cdf(n) ⇒ Object
Methods inherited from Croupier::Distribution
#configure, #generate_number, #generate_sample, #params
Constructor Details
#initialize(options = {}) ⇒ Cauchy
Returns a new instance of Cauchy.
10 11 12 13 14 15 |
# File 'lib/croupier/distributions/cauchy.rb', line 10 def initialize(={}) @name = "Cauchy distribution" @description = "Continuous probability distribution describing resonance behavior" configure() raise Croupier::InputParamsError, "Invalid scale value, it must be positive" unless params[:scale] > 0 end |
Class Method Details
.cli_name ⇒ Object
25 26 27 |
# File 'lib/croupier/distributions/cauchy.rb', line 25 def self.cli_name "cauchy" end |
.cli_options ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/croupier/distributions/cauchy.rb', line 29 def self. {:options => [ [:location, 'location param', {:type=>:float, :default => 0.0}], [:scale, 'scale param', {:type=>:float, :default => 1.0}], ], :banner => "Cauchy continuous distribution. Generate numbers following a Cauchy distribution with location and scale parameters" } end |
Instance Method Details
#default_parameters ⇒ Object
21 22 23 |
# File 'lib/croupier/distributions/cauchy.rb', line 21 def default_parameters {:location => 0.0, :scale => 1.0} end |
#inv_cdf(n) ⇒ Object
17 18 19 |
# File 'lib/croupier/distributions/cauchy.rb', line 17 def inv_cdf n params[:location] + (params[:scale] * Math.tan(Math::PI * (0.5 - n))) end |