rubystats 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +2 -0
- data/README.rdoc +1 -1
- data/lib/rubystats/binomial_distribution.rb +2 -2
- data/lib/rubystats/fishers_exact_test.rb +9 -9
- data/lib/rubystats/modules.rb +51 -48
- data/lib/rubystats/normal_distribution.rb +1 -0
- data/lib/rubystats/probability_distribution.rb +1 -1
- data/lib/rubystats/version.rb +1 -1
- data/rubystats.gemspec +1 -1
- data/test/tc_norm.rb +23 -4
- data/test/tc_require_all.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5175da9b495dae606b09aa31d28749aecea3186
|
4
|
+
data.tar.gz: c5b88f1fb680e8cf3e145cecef48edf5d211ad69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2256ea1de0b37962a8f3d5bdc14a33352d4a9a9d12c638df6f1c931464c145fcf1e50b82a123a7c34b75041fbc16b3e560dfca53983e90a132d1a1bc903c4ae
|
7
|
+
data.tar.gz: 27f8ad23f16195d41786b58f002150d48bbe1a9af7ccaae2ee703c78637dffa7207479f38affdc2c9296e5fb2827b6a61d60897dab0a667710988ce735479bcf
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.rdoc
CHANGED
@@ -70,7 +70,7 @@ module Rubystats
|
|
70
70
|
# variable x is less then X, i.e. P(x < _x).
|
71
71
|
def cdf(_x)
|
72
72
|
if _x.class == Array
|
73
|
-
|
73
|
+
pdf_vals = []
|
74
74
|
for i in (0 ..._x.length)
|
75
75
|
pdf_vals[i] = get_cdf(_x[i])
|
76
76
|
end
|
@@ -150,7 +150,7 @@ module Rubystats
|
|
150
150
|
am = @n * p
|
151
151
|
if @n < 25
|
152
152
|
bnl = 0.0
|
153
|
-
|
153
|
+
(1...@n).each do
|
154
154
|
if Kernel.rand < p
|
155
155
|
bnl = bnl.next
|
156
156
|
end
|
@@ -30,14 +30,14 @@ module Rubystats
|
|
30
30
|
# See http://lib.stat.cmu.edu/apstat/245
|
31
31
|
def lngamm(z)
|
32
32
|
x = 0
|
33
|
-
x += 0.0000001659470187408462/(z+7)
|
34
|
-
x += 0.000009934937113930748
|
35
|
-
x -= 0.1385710331296526
|
36
|
-
x += 12.50734324009056
|
37
|
-
x -= 176.6150291498386
|
38
|
-
x += 771.3234287757674
|
39
|
-
x -= 1259.139216722289
|
40
|
-
x += 676.5203681218835
|
33
|
+
x += 0.0000001659470187408462 / (z+7)
|
34
|
+
x += 0.000009934937113930748 / (z+6)
|
35
|
+
x -= 0.1385710331296526 / (z+5)
|
36
|
+
x += 12.50734324009056 / (z+4)
|
37
|
+
x -= 176.6150291498386 / (z+3)
|
38
|
+
x += 771.3234287757674 / (z+2)
|
39
|
+
x -= 1259.139216722289 / (z+1)
|
40
|
+
x += 676.5203681218835 / (z)
|
41
41
|
x += 0.9999999999995183
|
42
42
|
|
43
43
|
return(Math.log(x)-5.58106146679532777-z+(z-0.5) * Math.log(z+6.5))
|
@@ -159,7 +159,7 @@ module Rubystats
|
|
159
159
|
n1_ = n11_ + n12_
|
160
160
|
n_1 = n11_ + n21_
|
161
161
|
n = n11_ + n12_ + n21_ + n22_
|
162
|
-
|
162
|
+
exact(n11_,n1_,n_1,n)
|
163
163
|
left = @sless
|
164
164
|
right = @slarg
|
165
165
|
twotail = @sleft + @sright
|
data/lib/rubystats/modules.rb
CHANGED
@@ -36,6 +36,9 @@ module Rubystats
|
|
36
36
|
|
37
37
|
include Rubystats::NumericalConstants
|
38
38
|
|
39
|
+
attr_reader :log_gamma_cache_res, :log_gamma_cache_x,
|
40
|
+
:log_beta_cache_res, :log_beta_cache_p, :log_beta_cache_q
|
41
|
+
|
39
42
|
@log_gamma_cache_res = 0.0
|
40
43
|
@log_gamma_cache_x = 0.0
|
41
44
|
@log_beta_cache_res = 0.0
|
@@ -43,7 +46,7 @@ module Rubystats
|
|
43
46
|
@log_beta_cache_q = 0.0
|
44
47
|
|
45
48
|
def log_beta(p,q)
|
46
|
-
if p !=
|
49
|
+
if p != log_beta_cache_p || q != log_beta_cache_q
|
47
50
|
@log_beta_cache_p = p
|
48
51
|
@log_beta_cache_q = q
|
49
52
|
if (p <= 0.0) || (q <= 0.0) || (p + q) > LOG_GAMMA_X_MAX_VALUE
|
@@ -52,7 +55,7 @@ module Rubystats
|
|
52
55
|
@log_beta_cache_res = log_gamma(p) + log_gamma(q) - log_gamma(p + q)
|
53
56
|
end
|
54
57
|
end
|
55
|
-
return
|
58
|
+
return log_beta_cache_res
|
56
59
|
end
|
57
60
|
|
58
61
|
# Gamma function.
|
@@ -84,7 +87,7 @@ module Rubystats
|
|
84
87
|
# </P>
|
85
88
|
# Author:: Jaco van Kooten
|
86
89
|
|
87
|
-
def orig_gamma(x)
|
90
|
+
def orig_gamma(x)
|
88
91
|
# Gamma related constants
|
89
92
|
g_p = [ -1.71618513886549492533811, 24.7656508055759199108314,
|
90
93
|
-379.804256470945635097577, 629.331155312818442661052,
|
@@ -93,7 +96,7 @@ module Rubystats
|
|
93
96
|
g_q = [-30.8402300119738975254353, 315.350626979604161529144,
|
94
97
|
-1015.15636749021914166146, -3107.77167157231109440444,
|
95
98
|
22538.1184209801510330112, 4755.84627752788110767815,
|
96
|
-
-134659.959864969306392456, -115132.259675553483497211 ]
|
99
|
+
-134659.959864969306392456, -115132.259675553483497211 ]
|
97
100
|
g_c = [-0.001910444077728, 8.4171387781295e-4, -5.952379913043012e-4,
|
98
101
|
7.93650793500350248e-4, -0.002777777777777681622553,
|
99
102
|
0.08333333333333333331554247, 0.0057083835261 ]
|
@@ -102,14 +105,14 @@ module Rubystats
|
|
102
105
|
n = 0
|
103
106
|
y = x
|
104
107
|
parity = false
|
105
|
-
if y <= 0.0
|
108
|
+
if y <= 0.0
|
106
109
|
# ----------------------------------------------------------------------
|
107
110
|
# Argument is negative
|
108
111
|
# ----------------------------------------------------------------------
|
109
112
|
y = -(x)
|
110
113
|
y1 = y.to_i
|
111
114
|
res = y - y1
|
112
|
-
if res != 0.0
|
115
|
+
if res != 0.0
|
113
116
|
if y1 != (((y1*0.5).to_i) * 2.0)
|
114
117
|
parity = true
|
115
118
|
fact = -M_pi/sin(M_pi * res)
|
@@ -141,7 +144,7 @@ module Rubystats
|
|
141
144
|
# ----------------------------------------------------------------------
|
142
145
|
z = y
|
143
146
|
y += 1
|
144
|
-
else
|
147
|
+
else
|
145
148
|
# ----------------------------------------------------------------------
|
146
149
|
# 1.0 .LT. argument .LT. 12.0, reduce argument if necessary
|
147
150
|
# ----------------------------------------------------------------------
|
@@ -154,7 +157,7 @@ module Rubystats
|
|
154
157
|
# ----------------------------------------------------------------------
|
155
158
|
xnum = 0.0
|
156
159
|
xden = 1.0
|
157
|
-
for i in (0...8)
|
160
|
+
for i in (0...8)
|
158
161
|
xnum = (xnum + g_p[i]) * z
|
159
162
|
xden = xden * z + g_q[i]
|
160
163
|
end
|
@@ -164,7 +167,7 @@ module Rubystats
|
|
164
167
|
# Adjust result for case 0.0 .LT. argument .LT. 1.0
|
165
168
|
# ----------------------------------------------------------------------
|
166
169
|
res /= y1
|
167
|
-
elsif y1 > y
|
170
|
+
elsif y1 > y
|
168
171
|
# ----------------------------------------------------------------------
|
169
172
|
# Adjust result for case 2.0 .LT. argument .LT. 12.0
|
170
173
|
# ----------------------------------------------------------------------
|
@@ -173,14 +176,14 @@ module Rubystats
|
|
173
176
|
y += 1
|
174
177
|
end
|
175
178
|
end
|
176
|
-
else
|
179
|
+
else
|
177
180
|
# ----------------------------------------------------------------------
|
178
181
|
# Evaluate for argument .GE. 12.0
|
179
182
|
# ----------------------------------------------------------------------
|
180
183
|
if y <= GAMMA_X_MAX_VALUE
|
181
184
|
ysq = y * y
|
182
185
|
sum = g_c[6]
|
183
|
-
for i in(0...6)
|
186
|
+
for i in(0...6)
|
184
187
|
sum = sum / ysq + g_c[i]
|
185
188
|
sum = sum / y - y + log(SQRT2PI)
|
186
189
|
sum += (y - 0.5) * log(y)
|
@@ -276,8 +279,8 @@ module Rubystats
|
|
276
279
|
lg_frtbig = 2.25e76
|
277
280
|
pnt68 = 0.6796875
|
278
281
|
|
279
|
-
if x ==
|
280
|
-
return
|
282
|
+
if x == log_gamma_cache_x
|
283
|
+
return log_gamma_cache_res
|
281
284
|
end
|
282
285
|
|
283
286
|
y = x
|
@@ -359,14 +362,14 @@ module Rubystats
|
|
359
362
|
|
360
363
|
|
361
364
|
# Incomplete Gamma function.
|
362
|
-
# The computation is based on approximations presented in
|
365
|
+
# The computation is based on approximations presented in
|
363
366
|
# Numerical Recipes, Chapter 6.2 (W.H. Press et al, 1992).
|
364
367
|
# @param a require a>=0
|
365
368
|
# @param x require x>=0
|
366
369
|
# @return 0 if x<0, a<=0 or a>2.55E305 to avoid errors and over/underflow
|
367
370
|
# @author Jaco van Kooten
|
368
371
|
|
369
|
-
def incomplete_gamma(a, x)
|
372
|
+
def incomplete_gamma(a, x)
|
370
373
|
if x <= 0.0 || a <= 0.0 || a > LOG_GAMMA_X_MAX_VALUE
|
371
374
|
return 0.0
|
372
375
|
elsif x < (a + 1.0)
|
@@ -381,7 +384,7 @@ module Rubystats
|
|
381
384
|
ap = a
|
382
385
|
del = 1.0 / a
|
383
386
|
sum = del
|
384
|
-
|
387
|
+
(1...MAX_ITERATIONS).each do
|
385
388
|
ap += 1
|
386
389
|
del *= x / ap
|
387
390
|
sum += del
|
@@ -393,14 +396,14 @@ module Rubystats
|
|
393
396
|
end
|
394
397
|
|
395
398
|
# Author:: Jaco van Kooten
|
396
|
-
def gamma_fraction(a, x)
|
399
|
+
def gamma_fraction(a, x)
|
397
400
|
b = x + 1.0 - a
|
398
401
|
c = 1.0 / XMININ
|
399
402
|
d = 1.0 / b
|
400
403
|
h = d
|
401
404
|
del= 0.0
|
402
405
|
an = 0.0
|
403
|
-
for i in (1...MAX_ITERATIONS)
|
406
|
+
for i in (1...MAX_ITERATIONS)
|
404
407
|
if (del-1.0).abs > PRECISION
|
405
408
|
an = -i * (i - a)
|
406
409
|
b += 2.0
|
@@ -424,10 +427,10 @@ module Rubystats
|
|
424
427
|
#
|
425
428
|
# Author:: Jaco van Kooten
|
426
429
|
|
427
|
-
def beta(p, q)
|
430
|
+
def beta(p, q)
|
428
431
|
if p <= 0.0 || q <= 0.0 || (p + q) > LOG_GAMMA_X_MAX_VALUE
|
429
432
|
return 0.0
|
430
|
-
else
|
433
|
+
else
|
431
434
|
return Math.exp(log_beta(p, q))
|
432
435
|
end
|
433
436
|
end
|
@@ -437,17 +440,17 @@ module Rubystats
|
|
437
440
|
# Author:: Jaco van Kooten
|
438
441
|
# Author:: Paul Meagher
|
439
442
|
#
|
440
|
-
# The computation is based on formulas from Numerical Recipes,
|
443
|
+
# The computation is based on formulas from Numerical Recipes,
|
441
444
|
# Chapter 6.4 (W.H. Press et al, 1992).
|
442
445
|
|
443
|
-
def incomplete_beta(x, p, q)
|
446
|
+
def incomplete_beta(x, p, q)
|
444
447
|
if x <= 0.0
|
445
448
|
return 0.0
|
446
449
|
elsif x >= 1.0
|
447
450
|
return 1.0
|
448
451
|
elsif (p <= 0.0) || (q <= 0.0) || (p + q) > LOG_GAMMA_X_MAX_VALUE
|
449
452
|
return 0.0
|
450
|
-
else
|
453
|
+
else
|
451
454
|
beta_gam = Math.exp( -log_beta(p, q) + p * Math.log(x) + q * Math.log(1.0 - x) )
|
452
455
|
if x < (p + 1.0) / (p + q + 2.0)
|
453
456
|
return beta_gam * beta_fraction(x, p, q) / p
|
@@ -462,13 +465,13 @@ module Rubystats
|
|
462
465
|
# Based on an idea from Numerical Recipes (W.H. Press et al, 1992).
|
463
466
|
# Author:: Jaco van Kooten
|
464
467
|
|
465
|
-
def beta_fraction(x, p, q)
|
468
|
+
def beta_fraction(x, p, q)
|
466
469
|
c = 1.0
|
467
470
|
sum_pq = p + q
|
468
471
|
p_plus = p + 1.0
|
469
472
|
p_minus = p - 1.0
|
470
473
|
h = 1.0 - sum_pq * x / p_plus
|
471
|
-
if h.abs < XMININ
|
474
|
+
if h.abs < XMININ
|
472
475
|
h = XMININ
|
473
476
|
end
|
474
477
|
h = 1.0 / h
|
@@ -476,7 +479,7 @@ module Rubystats
|
|
476
479
|
m = 1
|
477
480
|
delta = 0.0
|
478
481
|
|
479
|
-
while (m <= MAX_ITERATIONS) && ((delta - 1.0).abs > PRECISION)
|
482
|
+
while (m <= MAX_ITERATIONS) && ((delta - 1.0).abs > PRECISION)
|
480
483
|
m2 = 2 * m
|
481
484
|
# even index for d
|
482
485
|
d = m * (q - m) * x / ( (p_minus + m2) * (p + m2))
|
@@ -563,14 +566,14 @@ module Rubystats
|
|
563
566
|
# where
|
564
567
|
# P1(s) = degree 6 poly in s
|
565
568
|
# Q1(s) = degree 6 poly in s
|
566
|
-
#
|
569
|
+
#
|
567
570
|
# 3. For x in [1.25,1/0.35(~2.857143)],
|
568
571
|
# erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
|
569
572
|
# erf(x) = 1 - erfc(x)
|
570
573
|
# where
|
571
574
|
# R1(z) = degree 7 poly in z, (z=1/x^2)
|
572
575
|
# S1(z) = degree 8 poly in z
|
573
|
-
#
|
576
|
+
#
|
574
577
|
# 4. For x in [1/0.35,28]
|
575
578
|
# erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0
|
576
579
|
# = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6<x<0
|
@@ -580,7 +583,7 @@ module Rubystats
|
|
580
583
|
# where
|
581
584
|
# R2(z) = degree 6 poly in z, (z=1/x^2)
|
582
585
|
# S2(z) = degree 7 poly in z
|
583
|
-
#
|
586
|
+
#
|
584
587
|
# Note1:
|
585
588
|
# To compute exp(-x*x-0.5625+R/S), let s be a single
|
586
589
|
# PRECISION number and s := x then
|
@@ -602,16 +605,16 @@ module Rubystats
|
|
602
605
|
# erf(x) = sign(x) *(1 - tiny) (raise inexact)
|
603
606
|
# erfc(x) = tiny*tiny (raise underflow) if x > 0
|
604
607
|
# = 2 - tiny if x<0
|
605
|
-
#
|
608
|
+
#
|
606
609
|
# 7. Special case:
|
607
610
|
# erf(0) = 0, erf(inf) = 1, erf(-inf) = -1,
|
608
611
|
# erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
|
609
612
|
# erfc/erf(NaN) is NaN
|
610
|
-
#
|
613
|
+
#
|
611
614
|
# $efx8 = 1.02703333676410069053e00
|
612
|
-
#
|
615
|
+
#
|
613
616
|
# Coefficients for approximation to erf on [0,0.84375]
|
614
|
-
#
|
617
|
+
#
|
615
618
|
|
616
619
|
# Error function.
|
617
620
|
# Based on C-code for the error function developed at Sun Microsystems.
|
@@ -654,7 +657,7 @@ module Rubystats
|
|
654
657
|
# 0 < |x| < 0.84375
|
655
658
|
if abs_x < 0.84375
|
656
659
|
#|x| < 2**-28
|
657
|
-
if abs_x < 3.7252902984619141e-9
|
660
|
+
if abs_x < 3.7252902984619141e-9
|
658
661
|
retval = abs_x + abs_x * e_efx
|
659
662
|
else
|
660
663
|
s = x * x
|
@@ -666,12 +669,12 @@ module Rubystats
|
|
666
669
|
end
|
667
670
|
elsif abs_x < 1.25
|
668
671
|
s = abs_x - 1.0
|
669
|
-
p = ePa[0] + s * (ePa[1] + s *
|
670
|
-
(ePa[2] + s * (ePa[3] + s *
|
672
|
+
p = ePa[0] + s * (ePa[1] + s *
|
673
|
+
(ePa[2] + s * (ePa[3] + s *
|
671
674
|
(ePa[4] + s * (ePa[5] + s * ePa[6])))))
|
672
675
|
|
673
|
-
q = 1.0 + s * (eQa[0] + s *
|
674
|
-
(eQa[1] + s * (eQa[2] + s *
|
676
|
+
q = 1.0 + s * (eQa[0] + s *
|
677
|
+
(eQa[1] + s * (eQa[2] + s *
|
675
678
|
(eQa[3] + s * (eQa[4] + s * eQa[5])))))
|
676
679
|
retval = e_erx + p / q
|
677
680
|
|
@@ -736,27 +739,27 @@ module Rubystats
|
|
736
739
|
else
|
737
740
|
s = 1.0/(abs_x * abs_x)
|
738
741
|
if abs_x < 2.8571428
|
739
|
-
r = eRa[0] + s * (eRa[1] + s *
|
740
|
-
(eRa[2] + s * (eRa[3] + s * (eRa[4] + s *
|
741
|
-
(eRa[5] + s *(eRa[6] + s * eRa[7])
|
742
|
+
r = eRa[0] + s * (eRa[1] + s *
|
743
|
+
(eRa[2] + s * (eRa[3] + s * (eRa[4] + s *
|
744
|
+
(eRa[5] + s * (eRa[6] + s * eRa[7])
|
742
745
|
)))))
|
743
746
|
|
744
|
-
s = 1.0 + s * (eSa[0] + s * (eSa[1] + s *
|
745
|
-
(eSa[2] + s * (eSa[3] + s * (eSa[4] + s *
|
747
|
+
s = 1.0 + s * (eSa[0] + s * (eSa[1] + s *
|
748
|
+
(eSa[2] + s * (eSa[3] + s * (eSa[4] + s *
|
746
749
|
(eSa[5] + s * (eSa[6] + s * eSa[7])))))))
|
747
750
|
|
748
751
|
else
|
749
|
-
r = eRb[0] + s * (eRb[1] + s *
|
750
|
-
(eRb[2] + s * (eRb[3] + s * (eRb[4] + s *
|
752
|
+
r = eRb[0] + s * (eRb[1] + s *
|
753
|
+
(eRb[2] + s * (eRb[3] + s * (eRb[4] + s *
|
751
754
|
(eRb[5] + s * eRb[6])))))
|
752
755
|
|
753
|
-
s = 1.0 + s * (eSb[0] + s *
|
754
|
-
(eSb[1] + s * (eSb[2] + s * (eSb[3] + s *
|
756
|
+
s = 1.0 + s * (eSb[0] + s *
|
757
|
+
(eSb[1] + s * (eSb[2] + s * (eSb[3] + s *
|
755
758
|
(eSb[4] + s * (eSb[5] + s * eSb[6]))))))
|
756
759
|
end
|
757
760
|
retval = Math.exp(-x * x - 0.5625 + r/s) / abs_x
|
758
761
|
end
|
759
762
|
return ( if x >= 0.0 then retval else 2.0 - retval end )
|
760
|
-
|
763
|
+
end
|
761
764
|
end
|
762
765
|
end
|
data/lib/rubystats/version.rb
CHANGED
data/rubystats.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.test_files = `git ls-files -- Appraisals {test,spec,features,gemfiles}/*`.split("\n")
|
12
12
|
|
13
13
|
s.require_paths = ['lib']
|
14
|
-
s.required_ruby_version = Gem::Requirement.new(">= 1.9.
|
14
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.9.3")
|
15
15
|
|
16
16
|
s.authors = ['Ilya Scharrenbroich', 'Bryan Donovan - http://www.bryandonovan.com', 'Phillip Baker']
|
17
17
|
|
data/test/tc_norm.rb
CHANGED
@@ -1,14 +1,33 @@
|
|
1
|
-
$:.unshift File.join(File.dirname(__FILE__),
|
1
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
2
2
|
require 'minitest/autorun'
|
3
3
|
require 'rubystats/normal_distribution'
|
4
4
|
|
5
5
|
class TestNormal < MiniTest::Unit::TestCase
|
6
|
-
def
|
6
|
+
def test_cdf
|
7
7
|
|
8
8
|
norm = Rubystats::NormalDistribution.new(10,2)
|
9
9
|
cdf = norm.cdf(11)
|
10
10
|
|
11
|
-
assert_equal(
|
12
|
-
|
11
|
+
assert_equal('0.691462461274013', '%.15f' % cdf)
|
12
|
+
refute_nil(norm.rng)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_distribution
|
16
|
+
norm = Rubystats::NormalDistribution.new(10.0, 1.0)
|
17
|
+
assert_instance_of Float, norm.rng
|
18
|
+
|
19
|
+
total = 10000
|
20
|
+
values =Array.new(total).map{norm.rng.to_i}
|
21
|
+
histogram = Hash[*values.group_by{ |v| v }.flat_map{ |k, v| [k, v.size] }]
|
22
|
+
|
23
|
+
one_sigma = histogram[9] + histogram[10]
|
24
|
+
assert_in_epsilon 0.682689492137 , one_sigma.to_f / total, 0.02, 'the 1-sigma-environment should contain 68.3%'
|
25
|
+
|
26
|
+
two_sigma = one_sigma + histogram[8] + histogram[11]
|
27
|
+
assert_in_epsilon 0.954499736104 , two_sigma.to_f / total, 0.01, 'the 2-sigma-environment should contain 95.4%'
|
28
|
+
|
29
|
+
three_sigma = two_sigma + histogram[7] + histogram[12]
|
30
|
+
assert_in_epsilon 0.997300203937 , three_sigma.to_f / total, 0.005, 'the 3-sigma-environment should contain 99.7%'
|
31
|
+
|
13
32
|
end
|
14
33
|
end
|
data/test/tc_require_all.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubystats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Scharrenbroich
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-07-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: minitest
|
@@ -95,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
95
|
requirements:
|
96
96
|
- - ">="
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 1.9.
|
98
|
+
version: 1.9.3
|
99
99
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|