distribution 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 10da9cb77a0a56fd768b3b512e3c80c64b7a865d
4
+ data.tar.gz: 86646fd4edf1880ed627b50e37f035dabf960317
5
+ SHA512:
6
+ metadata.gz: 46f20bc037e47b6a1eea5f90a081c72d2b280912d36df4275d1f0b60163653f791a7f61fdbba95b2734d6dc36fe678103f85c10e2cc35ecb4620b911e6ec5858
7
+ data.tar.gz: a169f7a086666cbc8fb609d025d0aa20dd8c9a8cca70313d9b8555479e7a78beceab3889afa52391978b91a78cf92bf864e92cc3740168d4ee582cf139b46245
data/.gitignore ADDED
@@ -0,0 +1,7 @@
1
+ *~
2
+ *.rbc
3
+ doc/*
4
+ pkg/*
5
+ coverage
6
+ Gemfile.lock
7
+ .autotest
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.8.7"
4
+ - "1.9.2"
5
+ - "1.9.3"
6
+ - jruby-18mode # JRuby in 1.8 mode
7
+ - jruby-19mode # JRuby in 1.9 mode
8
+ - rbx-18mode
9
+ - rbx-19mode
10
+ # uncomment this line if your project needs to run something other than `rake`:
11
+ # script: bundle exec rspec spec
12
+
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ # A sample Gemfile
2
+ source "https://rubygems.org"
3
+ gem "rspec"
4
+ gem "rb-gsl"
5
+ gemspec
data/LICENCE.md ADDED
@@ -0,0 +1,26 @@
1
+ ## LICENSE:
2
+
3
+ Copyright (c) 2011-2012, Claudio Bustos
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+ * Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+ * Redistributions in binary form must reproduce the above copyright
11
+ notice, this list of conditions and the following disclaimer in the
12
+ documentation and/or other materials provided with the distribution.
13
+ * Neither the name of the copyright holder nor the
14
+ names of its contributors may be used to endorse or promote products
15
+ derived from this software without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ DISCLAIMED. IN NO EVENT SHALL Claudio Bustos BE LIABLE FOR ANY
21
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/Manifest.txt CHANGED
@@ -1,4 +1,4 @@
1
- .autotest
1
+ Gemfile
2
2
  History.txt
3
3
  Manifest.txt
4
4
  README.txt
@@ -80,6 +80,9 @@ lib/distribution/t/gsl.rb
80
80
  lib/distribution/t/java.rb
81
81
  lib/distribution/t/ruby.rb
82
82
  lib/distribution/t/statistics2.rb
83
+ lib/distribution/weibull.rb
84
+ lib/distribution/weibull/gsl.rb
85
+ lib/distribution/weibull/ruby.rb
83
86
  spec/beta_spec.rb
84
87
  spec/binomial_spec.rb
85
88
  spec/bivariatenormal_spec.rb
@@ -98,4 +101,5 @@ spec/shorthand_spec.rb
98
101
  spec/spec.opts
99
102
  spec/spec_helper.rb
100
103
  spec/t_spec.rb
104
+ spec/weibull_spec.rb
101
105
  vendor/java/commons-math-2.2.jar
@@ -1,100 +1,105 @@
1
- = distribution
1
+ # [Distribution](https://github.com/clbustos/distribution) Quick Start
2
2
 
3
- * https://github.com/clbustos/distribution
3
+ ```
4
+ git clone https://github.com/sciruby/distribution
5
+ ```
4
6
 
5
- == DESCRIPTION:
7
+ ## Description:
6
8
 
7
9
  Statistical Distributions library. Includes Normal univariate and bivariate, T, F, Chi Square, Binomial, Hypergeometric, Exponential, Poisson, Beta, LogNormal and Gamma.
8
10
 
9
11
  Uses Ruby by default and C (statistics2/GSL) or Java extensions where available.
10
12
 
11
- Includes code from statistics2 on Normal, T, F and Chi Square ruby code [http://blade.nagaokaut.ac.jp/~sinara/ruby/math/statistics2]
13
+ Includes code from statistics2 on Normal, T, F and Chi Square ruby code [http://blade.nagaokaut.ac.jp/~sinara/ruby/math/statistics2]
12
14
 
13
- == FEATURES/PROBLEMS:
14
-
15
- * Very fast ruby 1.8.7/1.9.+ implementation, with improved method to calculate factorials and others common functions
16
- * All methods tested on several ranges. See spec/
17
- * On Jruby and Rubinius, BivariateNormal returns incorrect pdf
18
-
19
- == API structure
20
-
21
- Distribution::<name>.(cdf|pdf|p_value|rng)
22
-
23
- On discrete distributions, exact Ruby implementations of pdf, cdf and p_value could be provided, using
24
-
25
- Distribution::<name>.exact_(cdf|pdf|p_value)
26
-
27
- module Distribution::Shorthand provides (you guess?) shortands method to call all methods
28
-
29
- <Distribution shortname>_(cdf|pdf|p|r)
30
-
31
- On discrete distributions, exact cdf, pdf and p_value are
32
-
33
- <Distribution shortname>_(ecdf|epdf|ep)
34
-
35
- Shortnames for distributions:
36
-
37
- * Normal: norm
38
- * Bivariate Normal: bnor
39
- * T: tdist
40
- * F: fdist
41
- * Chi Square: chisq
42
- * Binomial: bino
43
- * Hypergeometric: hypg
44
- * Exponential: expo
45
- * Poisson: pois
46
- * Beta: beta
47
- * Gamma: gamma
48
- * LogNormal: lognormal
49
-
50
- For example
51
-
52
- Distribution::T.cdf
53
-
54
- could be called after including Distribution::Shorthand
55
-
56
- tdist_cdf
57
-
58
-
59
- == SYNOPSIS:
60
- # Returns Gaussian PDF for x
15
+ ## Synopsis:
16
+ * Returns Gaussian PDF for x
61
17
  pdf=Distribution::Normal.pdf(x)
62
- # Returns Gaussian CDF for x
18
+ * Returns Gaussian CDF for x
63
19
  cdf=Distribution::Normal.cdf(x)
64
- # Returns inverse CDF (or p-value) for x
65
- pv =Distribution::Normal.p_value(x)
66
-
67
- == REQUIREMENTS:
20
+ * Returns inverse CDF (or p-value) for x
21
+ pv=Distribution::Normal.p_value(x)
22
+
23
+ ## System Requirements:
68
24
 
69
- I try to provide a Ruby version for each method. To increase (notably!) the speed, please install
25
+ To increase (notably!) the speed, please install
70
26
 
71
27
  * Ruby 1.8-1.9: gsl (prefered) or statistics2
72
28
  * Java: Not yet implemented
73
29
 
74
- == INSTALL:
75
-
30
+ ## User Installation:
31
+ ```
76
32
  gem install distribution
77
-
33
+ ```
78
34
  To speep up
79
-
35
+ ```
80
36
  gem install gsl
81
37
  gem install statistics
82
-
83
- == DEVELOPERS:
38
+ ```
84
39
 
85
- After checking out the source, run:
40
+ ## Developers:
86
41
 
42
+ After checking out the source, run:
43
+ ```
87
44
  $ rake newb
88
-
45
+ ```
89
46
  This task will install any missing dependencies, run the tests/specs,
90
47
  and generate the RDoc.
91
48
 
92
49
  If you want to provide a new distribution, /lib/distribution run
93
-
50
+ ```
94
51
  $ distribution --new your_distribution
95
-
52
+ ```
96
53
  This should create the main distribution file, the directory with ruby and gsl engines and the rspec on /spec directory.
97
54
 
98
- == LICENSE:
55
+ ### API Structure
56
+
57
+ Distribution::<name>.(cdf|pdf|p_value|rng)
58
+
59
+ On discrete distributions, exact Ruby implementations of pdf, cdf and p_value could be provided, using
60
+ ```
61
+ Distribution::<name>.exact_(cdf|pdf|p_value)
62
+ ```
63
+ module Distribution::Shorthand provides (you guess?) shortands method to call all methods
64
+ ```
65
+ <Distribution shortname>_(cdf|pdf|p|r)
66
+ ```
67
+ On discrete distributions, exact cdf, pdf and p_value are
68
+ ```
69
+ <Distribution shortname>_(ecdf|epdf|ep)
70
+ ```
71
+ Shortnames for distributions:
72
+
73
+ * Normal: norm
74
+ * Bivariate Normal: bnor
75
+ * T: tdist
76
+ * F: fdist
77
+ * Chi Square: chisq
78
+ * Binomial: bino
79
+ * Hypergeometric: hypg
80
+ * Exponential: expo
81
+ * Poisson: pois
82
+ * Beta: beta
83
+ * Gamma: gamma
84
+ * LogNormal: lognormal
85
+
86
+ ### API Structure Example
87
+
88
+ ```
89
+ Distribution::T.cdf
90
+ ```
91
+ could be called after including Distribution::Shorthand
92
+ ```
93
+ tdist_cdf
94
+ ```
95
+
96
+ ## Features
97
+
98
+ * Very fast ruby 1.8.7/1.9.+ implementation, with improved method to calculate factorials and others common functions
99
+ * All methods tested on several ranges. See spec/
100
+
101
+ ## Issues
102
+
103
+ * On Jruby and Rubinius, BivariateNormal returns incorrect pdf
99
104
 
100
- GPL V2
105
+ For current issues see the [issue tracker pages](https://github.com/clbustos/distribution/issues)
data/Rakefile CHANGED
@@ -1,26 +1,28 @@
1
1
  # -*- ruby -*-
2
2
  $:.unshift(File.expand_path(File.dirname(__FILE__)+"/lib/"))
3
3
  require 'rubygems'
4
- require 'hoe'
4
+ #require 'hoe'
5
5
  require 'distribution'
6
- require 'rubyforge'
7
6
  # Hoe.plugin :compiler
8
7
  # Hoe.plugin :gem_prelude_sucks
9
- Hoe.plugin :git
8
+ # Hoe.plugin :git
10
9
  # Hoe.plugin :inline
11
10
  # Hoe.plugin :racc
12
- Hoe.plugin :rubyforge
11
+ # Hoe.plugin :rubyforge
13
12
 
14
- Hoe.spec 'distribution' do
15
- self.developer('Claudio Bustos', 'clbustos_at_gmail.com')
16
- self.version=Distribution::VERSION
17
- self.extra_dev_deps << ["rspec",">=2.0"] << ["rubyforge",">=0"]
13
+ #Hoe.spec 'distribution' do
14
+ # self.developer('Claudio Bustos', 'clbustos_at_gmail.com')
15
+ # self.version=Distribution::VERSION
16
+ # self.extra_dev_deps << ["rspec",">=2.0"] << ["rubyforge",">=0"]
18
17
 
19
- end
18
+ #end
20
19
  # git log --pretty=format:"*%s[%cn]" v0.5.0..HEAD >> History.txt
21
20
  desc "Open an irb session preloaded with distribution"
22
21
  task :console do
23
22
  sh "irb -rubygems -I lib -r distribution.rb"
24
23
  end
25
24
 
25
+ require 'bundler'
26
+ Bundler::GemHelper.install_tasks
27
+
26
28
  # vim: syntax=ruby
data/bin/distribution CHANGED
@@ -36,7 +36,7 @@ ARGV.each do |distribution|
36
36
  basename=distribution.downcase
37
37
  raise "You should be inside distribution lib directory" unless File.exists? "../distribution.rb"
38
38
  raise "Distribution already created" if File.exists? basename+".rb"
39
- main=ERB.new(File.read(gem_base+"/data/template/distribution.erb"),)
39
+ main=ERB.new(File.read(gem_base+"/data/template/distribution.erb"))
40
40
  ruby=ERB.new(File.read(gem_base+"/data/template/distribution/ruby.erb"))
41
41
  gsl=ERB.new(File.read(gem_base+"/data/template/distribution/gsl.erb"))
42
42
  spec=ERB.new(File.read(gem_base+"/data/template/spec.erb"))
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path("../lib/distribution/version", __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "distribution"
6
+ s.version = Distribution::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ['Claudio Bustos']
9
+ s.email = []
10
+ s.homepage = "http://rubygems.org/gems/foodie"
11
+ s.summary = "Distribution"
12
+ s.description = "Distribution"
13
+
14
+ s.required_rubygems_version = ">= 1.3.6"
15
+ s.add_development_dependency "bundler", ">= 1.0.0"
16
+ s.add_development_dependency "rspec"
17
+ s.files = `git ls-files`.split("\n")
18
+ s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
19
+ s.require_path = 'lib'
20
+ end
data/lib/distribution.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # = distribution.rb -
2
2
  # Distribution - Statistical Distributions package for Ruby
3
3
  #
4
- # Copyright (C) 2011 Claudio Bustos
4
+ # Copyright (C) 2011-2014 Claudio Bustos
5
5
  #
6
6
  # This program is free software; you can redistribute it and/or
7
7
  # modify it under the terms of the GNU General Public License
@@ -50,7 +50,6 @@ require 'distribution/math_extension'
50
50
  # Distribution::Normal.p_value(0.95)
51
51
  # => 1.64485364660836
52
52
  module Distribution
53
- VERSION="0.7.0"
54
53
  module Shorthand
55
54
  EQUIVALENCES={:p_value=>:p, :cdf=>:cdf, :pdf=>:pdf, :rng=>:r, :exact_pdf=>:epdf, :exact_cdf=>:ecdf, :exact_p_value=>:ep}
56
55
  def self.add_shortcut(sh,m, &block)
@@ -156,6 +155,7 @@ module Distribution
156
155
  require 'distribution/poisson'
157
156
  require 'distribution/logistic'
158
157
  require 'distribution/lognormal'
158
+ require 'distribution/weibull'
159
159
 
160
160
  if has_java?
161
161
  init_java()
@@ -35,6 +35,40 @@ module Distribution
35
35
  Math::IncompleteBeta.axpy(1.0, 0.0, a,b,x)
36
36
  end
37
37
 
38
+ # Inverse of the beta distribution function
39
+ def p_value(p,a,b, rmin=0, rmax=1)
40
+ raise "a <= 0" if a <= 0
41
+ raise "b <= 0" if b <= 0
42
+ raise "rmin == rmax" if rmin == rmax
43
+ raise "p <= 0" if p <= 0
44
+ raise "p > 1" if p > 1
45
+
46
+ precision=8.88e-016
47
+ max_iterations=256
48
+
49
+ ga = 0
50
+ gb = 2
51
+
52
+ i = 1
53
+ while ((gb - ga) > precision) && (i < max_iterations)
54
+ guess = (ga + gb) / 2.0
55
+ result = cdf(guess, a, b)
56
+
57
+ if (result == p) || (result == 0)
58
+ gb = ga
59
+ elsif result > p
60
+ gb = guess
61
+ else
62
+ ga = guess
63
+ end
64
+
65
+ raise 'No value' if i == max_iterations
66
+
67
+ i+=1
68
+ end
69
+
70
+ rmin + guess * (rmax - rmin)
71
+ end
38
72
 
39
73
  end
40
74
  end
@@ -2,10 +2,11 @@ module Distribution
2
2
  module Exponential
3
3
  module Ruby_
4
4
  class << self
5
- def rng(l)
6
- lambda {p_value(rand(),l)}
7
- end
8
- def pdf(x,l)
5
+ def rng(l, opts = {})
6
+ rng = opts[:random] || Random
7
+ lambda {p_value(rng.rand,l)}
8
+ end
9
+ def pdf(x,l)
9
10
  return 0 if x<0
10
11
  l*Math.exp(-l*x)
11
12
  end
@@ -63,9 +63,9 @@ module Distribution
63
63
  # over (-Infty, z].
64
64
  #
65
65
  def cdf(z)
66
- 0.0 if z < -12
67
- 1.0 if z > 12
68
- 0.5 if z == 0.0
66
+ return 0.0 if z < -12
67
+ return 1.0 if z > 12
68
+ return 0.5 if z == 0.0
69
69
 
70
70
  if z > 0.0
71
71
  e = true
@@ -67,7 +67,7 @@ module Distribution
67
67
  def pt(q, n)
68
68
  q = q.to_f
69
69
  if(q < 1.0e-5 || q > 1.0 || n < 1)
70
- $stderr.printf("Error : Illigal parameter in pt()!\n")
70
+ $stderr.printf("Error : Illegal parameter in pt()!\n")
71
71
  return 0.0
72
72
  end
73
73
 
@@ -108,4 +108,4 @@ module Distribution
108
108
  end
109
109
  end
110
110
  end
111
- end
111
+ end
@@ -0,0 +1,3 @@
1
+ module Distribution
2
+ VERSION = "0.7.1"
3
+ end
@@ -0,0 +1,11 @@
1
+ require 'distribution/weibull/ruby'
2
+ require 'distribution/weibull/gsl'
3
+
4
+ module Distribution
5
+
6
+ module Weibull
7
+ SHORTHAND = 'weibull'
8
+ extend Distributable
9
+ create_distribution_methods
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module Distribution
2
+ module Weibull
3
+ module GSL_
4
+ class << self
5
+
6
+ def pdf(x, k, lam)
7
+ GSL::Ran.weibull_pdf(x, lam, k)
8
+ end
9
+
10
+
11
+ def cdf(x, k, lam)
12
+ GSL::Cdf.weibull_P(x, lam, k)
13
+ end
14
+
15
+ def p_value(y, k, lam)
16
+ GSL::Cdf.weibull_Pinv(y, lam, k)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,27 @@
1
+ module Distribution
2
+ module Weibull
3
+ module Ruby_
4
+ class << self
5
+ def pdf(x, k, lam)
6
+ return 0.0 if x < 0.0
7
+ return ((k.to_f/lam.to_f)*(x.to_f/lam.to_f)**(k-1.0))*Math.exp(-(x.to_f/lam.to_f)**k)
8
+ end
9
+
10
+ #Returns the integral of the Weibull distribution from [-Inf to x]
11
+
12
+ def cdf(x, k, lam)
13
+ return 0.0 if x < 0.0
14
+ return 1.0-Math.exp(-(x.to_f/lam.to_f)**k)
15
+ end
16
+
17
+ # Returns the P-value of weibull
18
+
19
+ def p_value(y, k, lam)
20
+ return 1.0 if y > 1.0
21
+ return 0.0 if y < 0.0
22
+ return -lam*(Math.log(1.0-y))**(1.0/k)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -3,7 +3,7 @@ describe Distribution do
3
3
  it "should respond to has_gsl?" do
4
4
  lambda {Distribution.has_gsl?}.should_not raise_exception
5
5
  if Distribution.has_gsl?
6
- defined?(GSL).should be_true
6
+ expect(defined?(GSL)).to be true
7
7
  else
8
8
  defined?(GSL).should be_false
9
9
  end
@@ -76,5 +76,19 @@ describe Distribution::Exponential do
76
76
  #
77
77
  # end
78
78
  # end
79
-
79
+ describe "rng" do
80
+ it "should default to Kernel#rand if no :random is given" do
81
+ Random.stub(:rand)
82
+ Random.should_receive(:rand).and_return(0.5)
83
+ rng = Distribution::Exponential.rng 1.0
84
+ rng.call()
85
+ end
86
+
87
+ it "should use a given rng if one is passed during construction" do
88
+ random = double("random")
89
+ random.should_receive(:rand).and_return(0.5)
90
+ rng = Distribution::Exponential::rng 1.0, :random => random
91
+ rng.call()
92
+ end
93
+ end
80
94
  end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__)+"/spec_helper.rb")
2
+
3
+ include ExampleWithGSL
4
+
5
+ describe Distribution::Weibull do
6
+
7
+ #shared_examples for "Weibull engine" do
8
+ it "should return correct pdf" do
9
+ Distribution::Weibull::pdf(2, 1, 1).should be_within(1e-3).of(0.13533)
10
+ end
11
+ it "should return correct cdf" do
12
+ Distribution::Weibull::cdf(2, 1, 1).should be_within(1e-3).of(0.86466)
13
+ end
14
+ it "should return correct p-value" do
15
+ Distribution::Weibull::p_value(0.86466, 1, 1).should be_within(1e-3).of(2.0)
16
+ end
17
+ #end
18
+ end
metadata CHANGED
@@ -1,126 +1,57 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: distribution
3
- version: !ruby/object:Gem::Version
4
- hash: 3
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 7
9
- - 0
10
- version: 0.7.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.1
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Claudio Bustos
14
8
  autorequire:
15
9
  bindir: bin
16
- cert_chain:
17
- - |
18
- -----BEGIN CERTIFICATE-----
19
- MIIDMjCCAhqgAwIBAgIBADANBgkqhkiG9w0BAQUFADA/MREwDwYDVQQDDAhjbGJ1
20
- c3RvczEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
21
- MB4XDTEwMDMyOTIxMzg1NVoXDTExMDMyOTIxMzg1NVowPzERMA8GA1UEAwwIY2xi
22
- dXN0b3MxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
23
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf8JVMGqE7m5kYb+PNN
24
- neZv2pcXV5fQCi6xkyG8bi2/SIFy/LyxuvLzEeOxBeaz1Be93bayIUquOIqw3dyw
25
- /KXWa31FxuNuvAm6CN8fyeRYX/ou4cw3OIUUnIvB7RMNIu4wbgeM6htV/QEsNLrv
26
- at1/mh9JpqawPrcjIOVMj4BIp67vmzJCaUf+S/H2uYtSO09F+YQE3tv85TPeRmqU
27
- yjyXyTc/oJiw1cXskUL8UtMWZmrwNLHXuZWWIMzkjiz3UNdhJr/t5ROk8S2WPznl
28
- 0bMy/PMIlAbqWolRn1zl2VFJ3TaXScbqImY8Wf4g62b/1ZSUlGrtnLNsCYXrWiso
29
- UPUCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFGu9
30
- rrJ1H64qRmNNu3Jj/Qjvh0u5MA0GCSqGSIb3DQEBBQUAA4IBAQCV0Unka5isrhZk
31
- GjqSDqY/6hF+G2pbFcbWUpjmC8NWtAxeC+7NGV3ljd0e1SLfoyBj4gnFtFmY8qX4
32
- K02tgSZM0eDV8TpgFpWXzK6LzHvoanuahHLZEtk/+Z885lFene+nHadkem1n9iAB
33
- cs96JO9/JfFyuXM27wFAwmfHCmJfPF09R4VvGHRAvb8MGzSVgk2i06OJTqkBTwvv
34
- JHJdoyw3+8bw9RJ+jLaNoQ+xu+1pQdS2bb3m7xjZpufml/m8zFCtjYM/7qgkKR8z
35
- /ZZt8lCiKfFArppRrZayE2FVsps4X6WwBdrKTMZ0CKSXTRctbEj1BAZ67eoTvBBt
36
- rpP0jjs0
37
- -----END CERTIFICATE-----
38
-
39
- date: 2011-11-30 00:00:00 -03:00
40
- default_executable:
41
- dependencies:
42
- - !ruby/object:Gem::Dependency
43
- name: rubyforge
44
- prerelease: false
45
- requirement: &id001 !ruby/object:Gem::Requirement
46
- none: false
47
- requirements:
10
+ cert_chain: []
11
+ date: 2014-08-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
48
17
  - - ">="
49
- - !ruby/object:Gem::Version
50
- hash: 7
51
- segments:
52
- - 2
53
- - 0
54
- - 4
55
- version: 2.0.4
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.0
56
20
  type: :development
57
- version_requirements: *id001
58
- - !ruby/object:Gem::Dependency
59
- name: rspec
60
21
  prerelease: false
61
- requirement: &id002 !ruby/object:Gem::Requirement
62
- none: false
63
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
64
24
  - - ">="
65
- - !ruby/object:Gem::Version
66
- hash: 3
67
- segments:
68
- - 2
69
- - 0
70
- version: "2.0"
71
- type: :development
72
- version_requirements: *id002
73
- - !ruby/object:Gem::Dependency
74
- name: rubyforge
75
- prerelease: false
76
- requirement: &id003 !ruby/object:Gem::Requirement
77
- none: false
78
- requirements:
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
79
31
  - - ">="
80
- - !ruby/object:Gem::Version
81
- hash: 3
82
- segments:
83
- - 0
84
- version: "0"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
85
34
  type: :development
86
- version_requirements: *id003
87
- - !ruby/object:Gem::Dependency
88
- name: hoe
89
35
  prerelease: false
90
- requirement: &id004 !ruby/object:Gem::Requirement
91
- none: false
92
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
93
38
  - - ">="
94
- - !ruby/object:Gem::Version
95
- hash: 47
96
- segments:
97
- - 2
98
- - 8
99
- - 0
100
- version: 2.8.0
101
- type: :development
102
- version_requirements: *id004
103
- description: |-
104
- Statistical Distributions library. Includes Normal univariate and bivariate, T, F, Chi Square, Binomial, Hypergeometric, Exponential, Poisson, Beta, LogNormal and Gamma.
105
-
106
- Uses Ruby by default and C (statistics2/GSL) or Java extensions where available.
107
-
108
- Includes code from statistics2 on Normal, T, F and Chi Square ruby code [http://blade.nagaokaut.ac.jp/~sinara/ruby/math/statistics2]
109
- email:
110
- - clbustos_at_gmail.com
111
- executables:
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Distribution
42
+ email: []
43
+ executables:
112
44
  - distribution
113
45
  extensions: []
114
-
115
- extra_rdoc_files:
116
- - History.txt
117
- - Manifest.txt
118
- - README.txt
119
- files:
120
- - .autotest
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".gitignore"
49
+ - ".travis.yml"
50
+ - Gemfile
121
51
  - History.txt
52
+ - LICENCE.md
122
53
  - Manifest.txt
123
- - README.txt
54
+ - README.md
124
55
  - Rakefile
125
56
  - benchmark/binomial_coefficient.rb
126
57
  - benchmark/binomial_coefficient/binomial_coefficient.ds
@@ -135,6 +66,7 @@ files:
135
66
  - data/template/distribution/gsl.erb
136
67
  - data/template/distribution/ruby.erb
137
68
  - data/template/spec.erb
69
+ - distribution.gemspec
138
70
  - lib/distribution.rb
139
71
  - lib/distribution/beta.rb
140
72
  - lib/distribution/beta/gsl.rb
@@ -199,6 +131,10 @@ files:
199
131
  - lib/distribution/t/java.rb
200
132
  - lib/distribution/t/ruby.rb
201
133
  - lib/distribution/t/statistics2.rb
134
+ - lib/distribution/version.rb
135
+ - lib/distribution/weibull.rb
136
+ - lib/distribution/weibull/gsl.rb
137
+ - lib/distribution/weibull/ruby.rb
202
138
  - spec/beta_spec.rb
203
139
  - spec/binomial_spec.rb
204
140
  - spec/bivariatenormal_spec.rb
@@ -217,41 +153,29 @@ files:
217
153
  - spec/spec.opts
218
154
  - spec/spec_helper.rb
219
155
  - spec/t_spec.rb
156
+ - spec/weibull_spec.rb
220
157
  - vendor/java/commons-math-2.2.jar
221
- has_rdoc: true
222
- homepage: https://github.com/clbustos/distribution
158
+ homepage: http://rubygems.org/gems/foodie
223
159
  licenses: []
224
-
160
+ metadata: {}
225
161
  post_install_message:
226
- rdoc_options:
227
- - --main
228
- - README.txt
229
- require_paths:
162
+ rdoc_options: []
163
+ require_paths:
230
164
  - lib
231
- required_ruby_version: !ruby/object:Gem::Requirement
232
- none: false
233
- requirements:
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
234
167
  - - ">="
235
- - !ruby/object:Gem::Version
236
- hash: 3
237
- segments:
238
- - 0
239
- version: "0"
240
- required_rubygems_version: !ruby/object:Gem::Requirement
241
- none: false
242
- requirements:
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
243
172
  - - ">="
244
- - !ruby/object:Gem::Version
245
- hash: 3
246
- segments:
247
- - 0
248
- version: "0"
173
+ - !ruby/object:Gem::Version
174
+ version: 1.3.6
249
175
  requirements: []
250
-
251
- rubyforge_project: distribution
252
- rubygems_version: 1.3.7
176
+ rubyforge_project:
177
+ rubygems_version: 2.2.2
253
178
  signing_key:
254
- specification_version: 3
255
- summary: Statistical Distributions library
179
+ specification_version: 4
180
+ summary: Distribution
256
181
  test_files: []
257
-
data.tar.gz.sig DELETED
@@ -1,3 +0,0 @@
1
- $ �Rf�w�R�d��ԋU����=�W.�w�fզ�f��Mr� ��L�P '{Y�bě�l��y����;9ss�1�)D�� a<�� `
2
- ;L�IW\�XF�Ƹ�
3
- sb/c��]�G��!��Ӯ� ڢ'�[�GUv�dЦ�7��t\Hł�{��0Y#}-���Yf�&���S�[gL1n�� �[�ui��W$E����y�5�*���U|�����
data/.autotest DELETED
@@ -1,23 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'autotest/restart'
4
-
5
- # Autotest.add_hook :initialize do |at|
6
- # at.extra_files << "../some/external/dependency.rb"
7
- #
8
- # at.libs << ":../some/external"
9
- #
10
- # at.add_exception 'vendor'
11
- #
12
- # at.add_mapping(/dependency.rb/) do |f, _|
13
- # at.files_matching(/test_.*rb$/)
14
- # end
15
- #
16
- # %w(TestA TestB).each do |klass|
17
- # at.extra_class_map[klass] = "test/test_misc.rb"
18
- # end
19
- # end
20
-
21
- # Autotest.add_hook :run_command do |at|
22
- # system "rake build"
23
- # end
metadata.gz.sig DELETED
Binary file