ruby-nuggets 0.7.0 → 0.7.1
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.
- data/.rspec +1 -0
- data/README +1 -1
- data/lib/nuggets/array/correlation_mixin.rb +13 -10
- data/lib/nuggets/array/histogram_mixin.rb +15 -0
- data/lib/nuggets/array/regression_mixin.rb +17 -10
- data/lib/nuggets/array/variance_mixin.rb +8 -3
- data/lib/nuggets/version.rb +1 -1
- data/spec/nuggets/array/correlation_spec.rb +83 -0
- data/spec/nuggets/array/histogram_spec.rb +89 -0
- data/spec/nuggets/array/mean_spec.rb +0 -4
- data/spec/nuggets/array/regression_spec.rb +40 -0
- data/spec/nuggets/array/standard_deviation_spec.rb +3 -3
- data/spec/nuggets/array/variance_spec.rb +58 -1
- data/spec/nuggets/file/replace_spec.rb +0 -7
- data/spec/nuggets/file/sub_spec.rb +0 -7
- data/spec/spec_helper.rb +15 -13
- metadata +10 -7
data/.rspec
CHANGED
data/README
CHANGED
@@ -25,14 +25,14 @@
|
|
25
25
|
###############################################################################
|
26
26
|
#++
|
27
27
|
|
28
|
-
require 'nuggets/array/
|
28
|
+
require 'nuggets/array/standard_deviation_mixin'
|
29
29
|
|
30
30
|
module Nuggets
|
31
31
|
class Array
|
32
32
|
module CorrelationMixin
|
33
33
|
|
34
34
|
def self.included(base)
|
35
|
-
base.send :include, Nuggets::Array::
|
35
|
+
base.send :include, Nuggets::Array::StandardDeviationMixin
|
36
36
|
end
|
37
37
|
|
38
38
|
# call-seq:
|
@@ -40,18 +40,21 @@ module Nuggets
|
|
40
40
|
#
|
41
41
|
# Calculates the {Pearson product-moment correlation
|
42
42
|
# coefficient}[http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient]
|
43
|
-
# for the <tt>{x,y}</tt> pairs in _array_.
|
43
|
+
# for the <tt>{x,y}</tt> pairs in _array_. If _array_ only contains
|
44
|
+
# values instead of pairs, +y+ will be the value and +x+ will be each
|
45
|
+
# value's position (rank) in _array_.
|
44
46
|
def correlation_coefficient
|
45
|
-
|
47
|
+
return 0.0 if empty?
|
46
48
|
|
47
|
-
|
49
|
+
target = first.respond_to?(:to_ary) ? self :
|
50
|
+
::Array.new(size) { |i| i + 1 }.zip(self)
|
48
51
|
|
49
|
-
|
50
|
-
|
51
|
-
sy += y
|
52
|
-
}
|
52
|
+
sx = target.std { |x, _| x }
|
53
|
+
sy = target.std { |_, y| y }
|
53
54
|
|
54
|
-
|
55
|
+
c = target.cov
|
56
|
+
|
57
|
+
sx.zero? || sy.zero? ? c < 0 ? -1.0 : 1.0 : c / (sx * sy)
|
55
58
|
end
|
56
59
|
|
57
60
|
alias_method :corr, :correlation_coefficient
|
@@ -72,6 +72,21 @@ module Nuggets
|
|
72
72
|
hist
|
73
73
|
end
|
74
74
|
|
75
|
+
# call-seq:
|
76
|
+
# array.probability_mass_function => aHash
|
77
|
+
# array.probability_mass_function { |x| ... } => aHash
|
78
|
+
#
|
79
|
+
# Calculates the {probability mass function}[http://en.wikipedia.org/wiki/Probability_mass_function]
|
80
|
+
# (normalized histogram) of the values in _array_. Returns a Hash that
|
81
|
+
# maps any value, or the result of the value yielded to the block, to
|
82
|
+
# its probability (via #histogram).
|
83
|
+
def probability_mass_function(&block)
|
84
|
+
hist, n = histogram(&block), size.to_f
|
85
|
+
hist.each { |k, v| hist[k] = v / n }
|
86
|
+
end
|
87
|
+
|
88
|
+
alias_method :pmf, :probability_mass_function
|
89
|
+
|
75
90
|
# call-seq:
|
76
91
|
# array.annotated_histogram => anArray
|
77
92
|
# array.annotated_histogram { |hist_item| ... } => aHash
|
@@ -25,35 +25,42 @@
|
|
25
25
|
###############################################################################
|
26
26
|
#++
|
27
27
|
|
28
|
-
require 'nuggets/array/
|
28
|
+
require 'nuggets/array/variance_mixin'
|
29
29
|
|
30
30
|
module Nuggets
|
31
31
|
class Array
|
32
32
|
module RegressionMixin
|
33
33
|
|
34
34
|
def self.included(base)
|
35
|
-
base.send :include, Nuggets::Array::
|
35
|
+
base.send :include, Nuggets::Array::VarianceMixin
|
36
36
|
end
|
37
37
|
|
38
38
|
# call-seq:
|
39
39
|
# array.linear_least_squares => anArray
|
40
40
|
#
|
41
|
-
# Calculates the {linear least squares regression}[http://en.wikipedia.org/wiki/
|
42
|
-
# for the <tt>{x,y}</tt> pairs in _array_.
|
41
|
+
# Calculates the {linear least squares regression}[http://en.wikipedia.org/wiki/Simple_linear_regression]
|
42
|
+
# for the <tt>{x,y}</tt> pairs in _array_. If _array_ only contains
|
43
|
+
# values instead of pairs, +y+ will be the value and +x+ will be each
|
44
|
+
# value's position (rank) in _array_.
|
43
45
|
def linear_least_squares
|
44
|
-
sx, sy = 0.0, 0.0
|
45
|
-
|
46
46
|
return [] if empty?
|
47
47
|
|
48
|
-
|
48
|
+
target = first.respond_to?(:to_ary) ? self :
|
49
|
+
::Array.new(size) { |i| i + 1 }.zip(self)
|
50
|
+
|
51
|
+
sx, sy = 0.0, 0.0
|
52
|
+
|
53
|
+
target.each { |x, y|
|
49
54
|
sx += x
|
50
55
|
sy += y
|
51
56
|
}
|
52
57
|
|
53
|
-
|
54
|
-
|
58
|
+
v = target.var { |x, _| x }
|
59
|
+
|
60
|
+
b = v.zero? ? 0.0 : target.cov / v
|
61
|
+
a = (sy - b * sx) / size
|
55
62
|
|
56
|
-
map { |x, _| [x, a + b * x] }
|
63
|
+
target.map { |x, _| [x, a + b * x] }
|
57
64
|
end
|
58
65
|
|
59
66
|
alias_method :llsq, :linear_least_squares
|
@@ -54,14 +54,19 @@ module Nuggets
|
|
54
54
|
# call-seq:
|
55
55
|
# array.covariance => aFloat
|
56
56
|
#
|
57
|
-
# Calculates the covariance[http://en.wikipedia.org/wiki/Covariance] of
|
58
|
-
# <tt>{x,y}</tt> pairs in _array_.
|
57
|
+
# Calculates the covariance[http://en.wikipedia.org/wiki/Covariance] of
|
58
|
+
# the <tt>{x,y}</tt> pairs in _array_. If _array_ only contains values
|
59
|
+
# instead of pairs, +y+ will be the value and +x+ will be each value's
|
60
|
+
# position (rank) in _array_.
|
59
61
|
def covariance
|
60
62
|
sx, sy, sp = 0.0, 0.0, 0.0
|
61
63
|
|
62
64
|
return sx if empty?
|
63
65
|
|
64
|
-
|
66
|
+
target = first.respond_to?(:to_ary) ? self :
|
67
|
+
::Array.new(size) { |i| i + 1 }.zip(self)
|
68
|
+
|
69
|
+
target.each { |x, y|
|
65
70
|
sx += x
|
66
71
|
sy += y
|
67
72
|
sp += x * y
|
data/lib/nuggets/version.rb
CHANGED
@@ -0,0 +1,83 @@
|
|
1
|
+
require 'nuggets/array/correlation'
|
2
|
+
|
3
|
+
describe Array, 'when extended by', Nuggets::Array::CorrelationMixin do
|
4
|
+
|
5
|
+
it { Array.ancestors.should include(Nuggets::Array::CorrelationMixin) }
|
6
|
+
|
7
|
+
example do
|
8
|
+
[].correlation_coefficient.should == 0.0
|
9
|
+
end
|
10
|
+
|
11
|
+
example do
|
12
|
+
[1].correlation_coefficient.should == 1.0
|
13
|
+
end
|
14
|
+
|
15
|
+
example do
|
16
|
+
[1, 1, 1].correlation_coefficient.should == 1.0
|
17
|
+
end
|
18
|
+
|
19
|
+
example do
|
20
|
+
[1, 2, 3].correlation_coefficient.should == 1.0
|
21
|
+
end
|
22
|
+
|
23
|
+
example do
|
24
|
+
[-1, -2, -3].correlation_coefficient.should == -1.0
|
25
|
+
end
|
26
|
+
|
27
|
+
example do
|
28
|
+
[1, 1.5, 2].correlation_coefficient.should == 1.0
|
29
|
+
end
|
30
|
+
|
31
|
+
example do
|
32
|
+
[3, 2, 1].correlation_coefficient.should == -1.0
|
33
|
+
end
|
34
|
+
|
35
|
+
example do
|
36
|
+
[-3, -2, -1].correlation_coefficient.should == -[3, 2, 1].correlation_coefficient
|
37
|
+
end
|
38
|
+
|
39
|
+
example do
|
40
|
+
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].correlation_coefficient.should equal_float(0.478471417102228)
|
41
|
+
end
|
42
|
+
|
43
|
+
example do
|
44
|
+
[[1, 1]].correlation_coefficient.should == 1.0
|
45
|
+
end
|
46
|
+
|
47
|
+
example do
|
48
|
+
[[1, 1], [1, 1], [1, 1]].correlation_coefficient.should == 1.0
|
49
|
+
end
|
50
|
+
|
51
|
+
example do
|
52
|
+
[[-1, 1], [-1, 1], [-1, 1]].correlation_coefficient.should == 1.0
|
53
|
+
end
|
54
|
+
|
55
|
+
example do
|
56
|
+
[[1, -1], [1, -1], [1, -1]].correlation_coefficient.should == 1.0
|
57
|
+
end
|
58
|
+
|
59
|
+
example do
|
60
|
+
[[1, 1], [1, 2], [1, 3]].correlation_coefficient.should == 1.0
|
61
|
+
end
|
62
|
+
|
63
|
+
example do
|
64
|
+
[[1, 1], [2, 1], [3, 1]].correlation_coefficient.should == 1.0
|
65
|
+
end
|
66
|
+
|
67
|
+
example do
|
68
|
+
[[-1, 1], [-2, 1], [-3, 1]].correlation_coefficient.should == 1.0
|
69
|
+
end
|
70
|
+
|
71
|
+
example do
|
72
|
+
[[1, -1], [2, -1], [3, -1]].correlation_coefficient.should == 1.0
|
73
|
+
end
|
74
|
+
|
75
|
+
example do
|
76
|
+
[[3, 1], [2, 2], [1, 3]].correlation_coefficient.should == -1.0
|
77
|
+
end
|
78
|
+
|
79
|
+
example do
|
80
|
+
[[-3, 3], [-2, 2], [-1, 1]].correlation_coefficient.should == -[[3, 3], [2, 2], [1, 1]].correlation_coefficient
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'nuggets/array/histogram'
|
2
|
+
|
3
|
+
describe Array, 'when extended by', Nuggets::Array::HistogramMixin do
|
4
|
+
|
5
|
+
it { Array.ancestors.should include(Nuggets::Array::HistogramMixin) }
|
6
|
+
|
7
|
+
example do
|
8
|
+
[].histogram.should == {}
|
9
|
+
end
|
10
|
+
|
11
|
+
example do
|
12
|
+
[1].histogram.should == { 1 => 1 }
|
13
|
+
end
|
14
|
+
|
15
|
+
example do
|
16
|
+
[1, 1, 1].histogram.should == { 1 => 3 }
|
17
|
+
end
|
18
|
+
|
19
|
+
example do
|
20
|
+
[1, 2, 2, 3].histogram.should == { 1 => 1, 2 => 2, 3 => 1 }
|
21
|
+
end
|
22
|
+
|
23
|
+
example do
|
24
|
+
[3, 2, 2, 1].histogram.should == [1, 2, 2, 3].histogram
|
25
|
+
end
|
26
|
+
|
27
|
+
example do
|
28
|
+
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].histogram.should == {
|
29
|
+
-4 => 1, -2 => 1, 0 => 2, 1 => 4, 2 => 2, 3 => 2, 24 => 1
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
example do
|
34
|
+
%w[one two three three].histogram.should == { 'one' => 1, 'two' => 1, 'three' => 2 }
|
35
|
+
end
|
36
|
+
|
37
|
+
example do
|
38
|
+
%w[three two one three].histogram.should == %w[one two three three].histogram
|
39
|
+
end
|
40
|
+
|
41
|
+
example do
|
42
|
+
[1, 2, 2, 3, 4].histogram { |x| x * 2 }.should == { 2 => 1, 4 => 2, 6 => 1, 8 => 1 }
|
43
|
+
end
|
44
|
+
|
45
|
+
example do
|
46
|
+
[1, 2, 3, 4].histogram { |x| x / 2 }.should == { 0 => 1, 1 => 2, 2 => 1 }
|
47
|
+
end
|
48
|
+
|
49
|
+
example do
|
50
|
+
[].probability_mass_function.should == {}
|
51
|
+
end
|
52
|
+
|
53
|
+
example do
|
54
|
+
[1].probability_mass_function.should == { 1 => 1 }
|
55
|
+
end
|
56
|
+
|
57
|
+
example do
|
58
|
+
[1, 1, 1].probability_mass_function.should == { 1 => 1 }
|
59
|
+
end
|
60
|
+
|
61
|
+
example do
|
62
|
+
[1, 2, 2, 3].probability_mass_function.should == { 1 => 0.25, 2 => 0.5, 3 => 0.25 }
|
63
|
+
end
|
64
|
+
|
65
|
+
example do
|
66
|
+
[3, 2, 2, 1].probability_mass_function.should == [1, 2, 2, 3].probability_mass_function
|
67
|
+
end
|
68
|
+
|
69
|
+
example do
|
70
|
+
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].probability_mass_function.values.inject(:+).should == 1.0
|
71
|
+
end
|
72
|
+
|
73
|
+
example do
|
74
|
+
%w[one two three three].probability_mass_function.should == { 'one' => 0.25, 'two' => 0.25, 'three' => 0.5 }
|
75
|
+
end
|
76
|
+
|
77
|
+
example do
|
78
|
+
%w[three two one three].probability_mass_function.should == %w[one two three three].probability_mass_function
|
79
|
+
end
|
80
|
+
|
81
|
+
example do
|
82
|
+
[1, 2, 2, 3, 4].probability_mass_function { |x| x * 2 }.should == { 2 => 0.2, 4 => 0.4, 6 => 0.2, 8 => 0.2 }
|
83
|
+
end
|
84
|
+
|
85
|
+
example do
|
86
|
+
[1, 2, 3, 4].probability_mass_function { |x| x / 2 }.should == { 0 => 0.25, 1 => 0.5, 2 => 0.25 }
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
@@ -120,8 +120,4 @@ describe Array, 'when extended by', Nuggets::Array::MeanMixin do
|
|
120
120
|
# TODO: other methods
|
121
121
|
# TODO: more examples: http://people.revoledu.com/kardi/tutorial/BasicMath/Average/mean.html
|
122
122
|
|
123
|
-
def equal_float(value, precision = 1.0e-14)
|
124
|
-
be_within(precision).of(value)
|
125
|
-
end
|
126
|
-
|
127
123
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'nuggets/array/regression'
|
2
|
+
|
3
|
+
describe Array, 'when extended by', Nuggets::Array::RegressionMixin do
|
4
|
+
|
5
|
+
it { Array.ancestors.should include(Nuggets::Array::RegressionMixin) }
|
6
|
+
|
7
|
+
example {
|
8
|
+
[].linear_least_squares.should == []
|
9
|
+
}
|
10
|
+
|
11
|
+
example {
|
12
|
+
[0].linear_least_squares.should == [[1, 0]]
|
13
|
+
}
|
14
|
+
|
15
|
+
example {
|
16
|
+
[1].linear_least_squares.should == [[1, 1]]
|
17
|
+
}
|
18
|
+
|
19
|
+
example {
|
20
|
+
[1, 1].linear_least_squares.should == [[1, 1], [2, 1]]
|
21
|
+
}
|
22
|
+
|
23
|
+
example {
|
24
|
+
[1, 2, 3, 4].linear_least_squares.should == [[1, 1], [2, 2], [3, 3], [4, 4]]
|
25
|
+
}
|
26
|
+
|
27
|
+
example {
|
28
|
+
[1, 2, 4, 1].linear_least_squares.should == [[1, 1.7], [2, 1.9], [3, 2.1], [4, 2.3]]
|
29
|
+
}
|
30
|
+
|
31
|
+
example {
|
32
|
+
r = [2.3, 1.6, 0.9, 0.2]
|
33
|
+
|
34
|
+
[1, 2, 4, -2].linear_least_squares.each_with_index { |(x, y), i|
|
35
|
+
x.should == i + 1
|
36
|
+
y.should equal_float(r[i])
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
end
|
@@ -17,11 +17,11 @@ describe Array, 'when extended by', Nuggets::Array::StandardDeviationMixin do
|
|
17
17
|
end
|
18
18
|
|
19
19
|
example do
|
20
|
-
[1, 2, 3].standard_deviation.should
|
20
|
+
[1, 2, 3].standard_deviation.should equal_float(0.816496580927726)
|
21
21
|
end
|
22
22
|
|
23
23
|
example do
|
24
|
-
[3, 2, 1].standard_deviation.should
|
24
|
+
[3, 2, 1].standard_deviation.should equal_float(0.816496580927726)
|
25
25
|
end
|
26
26
|
|
27
27
|
example do
|
@@ -29,7 +29,7 @@ describe Array, 'when extended by', Nuggets::Array::StandardDeviationMixin do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
example do
|
32
|
-
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].standard_deviation.should
|
32
|
+
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].standard_deviation.should equal_float(6.48804088737217)
|
33
33
|
end
|
34
34
|
|
35
35
|
end
|
@@ -29,7 +29,64 @@ describe Array, 'when extended by', Nuggets::Array::VarianceMixin do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
example do
|
32
|
-
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].variance.should
|
32
|
+
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].variance.should equal_float(42.0946745562130218)
|
33
|
+
end
|
34
|
+
|
35
|
+
example do
|
36
|
+
[].covariance.should == 0.0
|
37
|
+
end
|
38
|
+
|
39
|
+
example do
|
40
|
+
[1].covariance.should == 0.0
|
41
|
+
end
|
42
|
+
|
43
|
+
example do
|
44
|
+
[1, 1, 1].covariance.should == 0.0
|
45
|
+
end
|
46
|
+
|
47
|
+
example do
|
48
|
+
[1, 2, 3].covariance.should == 2 / 3.0
|
49
|
+
end
|
50
|
+
|
51
|
+
example do
|
52
|
+
[3, 2, 1].covariance.should == -2 / 3.0
|
53
|
+
end
|
54
|
+
|
55
|
+
example do
|
56
|
+
[-3, -2, -1].covariance.should == -[3, 2, 1].covariance
|
57
|
+
end
|
58
|
+
|
59
|
+
example do
|
60
|
+
[1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].covariance.should equal_float(11.615384615384615)
|
61
|
+
end
|
62
|
+
|
63
|
+
example do
|
64
|
+
a = [1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24]
|
65
|
+
a.zip(Array.new(a.size) { 42 }).covariance.should == 0.0
|
66
|
+
end
|
67
|
+
|
68
|
+
example do
|
69
|
+
a = [1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24]
|
70
|
+
a.zip(a).covariance.should == a.variance
|
71
|
+
end
|
72
|
+
|
73
|
+
example do
|
74
|
+
a, b = [1, -2, 1, 2, 3, -4], [3, 1, 2, 1, 0, 24]
|
75
|
+
a.zip(b).covariance.should == b.zip(a).covariance
|
76
|
+
end
|
77
|
+
|
78
|
+
example do
|
79
|
+
a, b = [1, -2, 1, 2, 3, -4], [3, 1, 2, 1, 0, 24]
|
80
|
+
m, n = 23, 42
|
81
|
+
|
82
|
+
a.map { |i| m * i }.zip(b.map { |i| n * i }).covariance.should == m * n * a.zip(b).covariance
|
83
|
+
end
|
84
|
+
|
85
|
+
example do
|
86
|
+
a, b = [1, -2, 1, 2, 3, -4], [3, 1, 2, 1, 0, 24]
|
87
|
+
m, n = 23, 42
|
88
|
+
|
89
|
+
a.map { |i| i + m }.zip(b.map { |i| i + n }).covariance.should equal_float(a.zip(b).covariance, 1.0e-13)
|
33
90
|
end
|
34
91
|
|
35
92
|
end
|
@@ -148,11 +148,4 @@ Before he reached the town o
|
|
148
148
|
lambda { File.gsub!(tempfile, /ight/, 'XIGHTX') }.should raise_error(Errno::ENOENT)
|
149
149
|
end
|
150
150
|
|
151
|
-
def tempfile
|
152
|
-
t = Tempfile.open('nuggets_file_sub_spec_temp') { |f| f.puts @txt }
|
153
|
-
block_given? ? yield(t.path) : t.path
|
154
|
-
ensure
|
155
|
-
t.close(true) if t
|
156
|
-
end
|
157
|
-
|
158
151
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,16 @@
|
|
1
|
-
$:.unshift('lib') unless
|
1
|
+
$:.unshift('lib') unless $:.first == 'lib'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
#
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
3
|
+
RSpec.configure { |config|
|
4
|
+
config.include(Module.new {
|
5
|
+
def equal_float(value, precision = 1.0e-14)
|
6
|
+
be_within(precision).of(value)
|
7
|
+
end
|
8
|
+
|
9
|
+
def tempfile(txt = @txt)
|
10
|
+
t = Tempfile.open("nuggets_spec_#{object_id}_temp") { |f| f.puts txt }
|
11
|
+
block_given? ? yield(t.path) : t.path
|
12
|
+
ensure
|
13
|
+
t.close(true) if t
|
14
|
+
end
|
15
|
+
})
|
16
|
+
}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-nuggets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
9
|
+
- 1
|
10
|
+
version: 0.7.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jens Wille
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-06 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: Some extensions to the Ruby programming language.
|
@@ -155,7 +155,10 @@ files:
|
|
155
155
|
- spec/nuggets/integer/length_spec.rb
|
156
156
|
- spec/nuggets/array/mode_spec.rb
|
157
157
|
- spec/nuggets/array/variance_spec.rb
|
158
|
+
- spec/nuggets/array/correlation_spec.rb
|
158
159
|
- spec/nuggets/array/runiq_spec.rb
|
160
|
+
- spec/nuggets/array/histogram_spec.rb
|
161
|
+
- spec/nuggets/array/regression_spec.rb
|
159
162
|
- spec/nuggets/array/median_spec.rb
|
160
163
|
- spec/nuggets/array/mean_spec.rb
|
161
164
|
- spec/nuggets/array/limit_spec.rb
|
@@ -193,9 +196,9 @@ rdoc_options:
|
|
193
196
|
- README
|
194
197
|
- --charset
|
195
198
|
- UTF-8
|
196
|
-
- --all
|
197
199
|
- --title
|
198
|
-
- ruby-nuggets Application documentation (v0.7.
|
200
|
+
- ruby-nuggets Application documentation (v0.7.1)
|
201
|
+
- --all
|
199
202
|
require_paths:
|
200
203
|
- lib
|
201
204
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -219,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
219
222
|
requirements: []
|
220
223
|
|
221
224
|
rubyforge_project: prometheus
|
222
|
-
rubygems_version: 1.7.
|
225
|
+
rubygems_version: 1.7.2
|
223
226
|
signing_key:
|
224
227
|
specification_version: 3
|
225
228
|
summary: Some extensions to the Ruby programming language.
|