histogram 0.2.1.4 → 0.2.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: deecc5f583bc853f2e7dccdb1e4cb8311acb45c0
4
- data.tar.gz: 879bdf4508f55f29a1c560328d11b48ef2acc48d
3
+ metadata.gz: 50a58993942b0878e8dbe58afc139a880d094a33
4
+ data.tar.gz: 0ff8419d39eae42dddb713cecc00c8b4e76f73a1
5
5
  SHA512:
6
- metadata.gz: c29c405ec579ac016526801f7845767aae155ee186f63dd8610d3d1596e1542126c2749623d84ae64c11e68a95b9b6d446d4b5a34bbecdfe11a20cd7d2d8fdaf
7
- data.tar.gz: 81fc3b7306f61085b57cf103d6815f894841af07549421647ff343179b521f794e6ac4237cf49d6158587ab79c3aebf0b47e908ceeb26c8daaa3995feb333abe
6
+ metadata.gz: c4d286bb8e206c0121149ede1f464c5ad8807cbcd2076a3c73b1b2e5add968c55c9dd087168afedd45f0718584897c99e39c3b98d80196b3414a8ed9b5d51313
7
+ data.tar.gz: a224cd19415ebb82a5222601fb0a44fb85edd7f1c0568bdddca13a0aa93417ee312628384ee7da110cfe1ef3bd50bd004e03a034d0e49994496d52e3761399ae
data/README.md CHANGED
@@ -65,6 +65,7 @@ Big thanks to those who have made contributions!
65
65
 
66
66
  * deal with zero std ([Greg Dean](https://github.com/gsdean))
67
67
  * support for 1.8.7 and jruby ([Kiera Radman](https://github.com/kierarad))
68
+ * reorder nan checks (fix zero stdev arrays) [arjun810](https://github.com/arjun810)
68
69
 
69
70
  ## See Also
70
71
 
@@ -53,6 +53,7 @@ module Histogram
53
53
  opt = {:method => DEFAULT_QUARTILE_METHOD, :sorted => false}.merge( opts )
54
54
  srted = opt[:sorted] ? obj : obj.sort
55
55
  sz = srted.size
56
+ return 0 if sz == 1
56
57
  answer =
57
58
  case opt[:method]
58
59
  when :tukey
@@ -72,6 +73,7 @@ module Histogram
72
73
 
73
74
  # finds median on a pre-sorted array
74
75
  def median(sorted)
76
+ return sorted[0] if sorted.size == 1
75
77
  (sorted[(sorted.size - 1) / 2] + sorted[sorted.size / 2]) / 2.0
76
78
  end
77
79
  end
@@ -99,8 +101,8 @@ module Histogram
99
101
  when :fd
100
102
  2 * Histogram.iqrange(self, :method => quartile_method) * (self.size**(-1.0/3))
101
103
  end
102
- nbins = 1 if nbins <= 0
103
104
  nbins = 1 if nbins.nan?
105
+ nbins = 1 if nbins <= 0
104
106
  nbins.ceil.to_i
105
107
  end
106
108
  end
@@ -1,3 +1,3 @@
1
1
  module Histogram
2
- VERSION = "0.2.1.4"
2
+ VERSION = "0.2.2.0"
3
3
  end
@@ -98,6 +98,14 @@ shared_examples 'something that can histogram' do
98
98
  bins, freq = obj6.histogram
99
99
  end
100
100
 
101
+ it 'can handle 0 stddev for :middle' do
102
+ bins, freq = obj6.histogram(:middle)
103
+ end
104
+
105
+ it 'can handle an array of length 1' do
106
+ bins, freq = obj7.histogram(:middle)
107
+ end
108
+
101
109
  end
102
110
 
103
111
  describe Histogram do
@@ -108,7 +116,8 @@ describe Histogram do
108
116
  :obj3 => [1, 1, 2, 2, 3, 3, 4, 4, 4],
109
117
  :obj4 => [2, 2, 2, 2, 2, 4],
110
118
  :obj5 => [1,2,3,3,3,4,5,6,7,8],
111
- :obj6 => [0,0,0,0,0]
119
+ :obj6 => [0,0,0,0,0],
120
+ :obj7 => [0]
112
121
  }
113
122
  data = tmp.each {|k,v| [k, v.map(&:to_f).extend(Histogram)] }
114
123
 
metadata CHANGED
@@ -1,85 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: histogram
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1.4
4
+ version: 0.2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John T. Prince
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-28 00:00:00.000000000 Z
11
+ date: 2014-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
- requirement: !ruby/object:Gem::Requirement
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
21
23
  requirements:
22
- - - ~>
24
+ - - "~>"
23
25
  - !ruby/object:Gem::Version
24
26
  version: '1.3'
25
- prerelease: false
26
- type: :development
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 10.1.0
34
- requirement: !ruby/object:Gem::Requirement
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
35
37
  requirements:
36
- - - ~>
38
+ - - "~>"
37
39
  - !ruby/object:Gem::Version
38
40
  version: 10.1.0
39
- prerelease: false
40
- type: :development
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: simplecov
43
- version_requirements: !ruby/object:Gem::Requirement
43
+ requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.7.1
48
- requirement: !ruby/object:Gem::Requirement
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
49
51
  requirements:
50
- - - ~>
52
+ - - "~>"
51
53
  - !ruby/object:Gem::Version
52
54
  version: 0.7.1
53
- prerelease: false
54
- type: :development
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
- version_requirements: !ruby/object:Gem::Requirement
57
+ requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.13.0
62
- requirement: !ruby/object:Gem::Requirement
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
63
65
  requirements:
64
- - - ~>
66
+ - - "~>"
65
67
  - !ruby/object:Gem::Version
66
68
  version: 2.13.0
67
- prerelease: false
68
- type: :development
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rdoc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
71
78
  version_requirements: !ruby/object:Gem::Requirement
72
79
  requirements:
73
- - - '>='
80
+ - - ">="
74
81
  - !ruby/object:Gem::Version
75
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: narray
76
85
  requirement: !ruby/object:Gem::Requirement
77
86
  requirements:
78
- - - '>='
87
+ - - ">="
79
88
  - !ruby/object:Gem::Version
80
89
  version: '0'
81
- prerelease: false
82
90
  type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: gives objects the ability to 'histogram' in several useful ways
84
98
  email:
85
99
  - jtprince@gmail.com
@@ -88,7 +102,7 @@ executables:
88
102
  extensions: []
89
103
  extra_rdoc_files: []
90
104
  files:
91
- - .gitignore
105
+ - ".gitignore"
92
106
  - Gemfile
93
107
  - LICENSE
94
108
  - README.md
@@ -106,24 +120,24 @@ homepage: https://github.com/jtprince/histogram
106
120
  licenses:
107
121
  - MIT
108
122
  metadata: {}
109
- post_install_message:
123
+ post_install_message:
110
124
  rdoc_options: []
111
125
  require_paths:
112
126
  - lib
113
127
  required_ruby_version: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - '>='
129
+ - - ">="
116
130
  - !ruby/object:Gem::Version
117
131
  version: '0'
118
132
  required_rubygems_version: !ruby/object:Gem::Requirement
119
133
  requirements:
120
- - - '>='
134
+ - - ">="
121
135
  - !ruby/object:Gem::Version
122
136
  version: '0'
123
137
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.1.9
126
- signing_key:
138
+ rubyforge_project:
139
+ rubygems_version: 2.2.2
140
+ signing_key:
127
141
  specification_version: 4
128
142
  summary: histograms data in different ways
129
143
  test_files: