means 1.2.0 → 1.2.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/VERSION +1 -1
- data/lib/means.rb +6 -5
- data/means.gemspec +1 -1
- data/spec/means_spec.rb +0 -2
- metadata +12 -12
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.1
|
data/lib/means.rb
CHANGED
@@ -52,13 +52,14 @@ class Mean
|
|
52
52
|
# Add element to the data set
|
53
53
|
# @param [Numeric] element the element to add
|
54
54
|
def push(element)
|
55
|
-
if Mean.zero_or_negative? element
|
56
|
-
|
55
|
+
@includes_zero_or_negative = true if Mean.zero_or_negative? element
|
56
|
+
|
57
|
+
unless @includes_zero_or_negative
|
58
|
+
@sum_of_reciprocals += (1 / element)
|
59
|
+
@product *= element
|
57
60
|
end
|
58
61
|
|
59
62
|
@sum += element
|
60
|
-
@sum_of_reciprocals += (1 / element) unless @includes_zero_or_negative
|
61
|
-
@product *= element unless @includes_zero_or_negative
|
62
63
|
@count += 1
|
63
64
|
end
|
64
65
|
|
@@ -83,7 +84,7 @@ class Mean
|
|
83
84
|
private
|
84
85
|
|
85
86
|
def Mean.includes_zero_or_negative? data
|
86
|
-
data.any? {
|
87
|
+
data.any? {|element| zero_or_negative? element}
|
87
88
|
end
|
88
89
|
|
89
90
|
def Mean.zero_or_negative? element
|
data/means.gemspec
CHANGED
data/spec/means_spec.rb
CHANGED
@@ -75,7 +75,6 @@ describe "Mean" do
|
|
75
75
|
|
76
76
|
describe ".geometric" do
|
77
77
|
it_behaves_like "all means"
|
78
|
-
|
79
78
|
it_behaves_like "non-arithmetic means"
|
80
79
|
|
81
80
|
it "is the square root of the product of two numbers" do
|
@@ -93,7 +92,6 @@ describe "Mean" do
|
|
93
92
|
|
94
93
|
describe ".harmonic" do
|
95
94
|
it_behaves_like "all means"
|
96
|
-
|
97
95
|
it_behaves_like "non-arithmetic means"
|
98
96
|
|
99
97
|
it "is according to the formula with two elements" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: means
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-04-12 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70236633958140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.9.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70236633958140
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: yard
|
27
|
-
requirement: &
|
27
|
+
requirement: &70236633956400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.7.4
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70236633956400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70236633953400 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70236633953400
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &70236634015040 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70236634015040
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rcov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70236634014320 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70236634014320
|
69
69
|
description: Calculates the different means for a data set (arithmetic, geometric
|
70
70
|
and harmonic).
|
71
71
|
email: nigel-lowry@ultra.eclipse.co.uk
|
@@ -103,7 +103,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
segments:
|
105
105
|
- 0
|
106
|
-
hash:
|
106
|
+
hash: -248071080291217602
|
107
107
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|