davidrichards-just_enumerable_stats 0.0.19 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 19
4
+ :patch: 21
@@ -819,13 +819,16 @@ module Enumerable
819
819
  safe_alias :_jes_scale_to_sigmoid!
820
820
 
821
821
  def _jes_normalize
822
- self.map {|e| e.to_f / self._jes_sum }
822
+ min = self._jes_min
823
+ diff = self._jes_max - min
824
+ self.map {|e| (e - min) / diff }
823
825
  end
824
826
  safe_alias :_jes_normalize
825
827
 
826
828
  def _jes_normalize!
827
- sum = self._jes_sum
828
- self.map! {|e| e.to_f / sum }
829
+ min = self._jes_min
830
+ diff = self._jes_max - min
831
+ self.map! {|e| (e - min) / diff }
829
832
  end
830
833
  safe_alias :_jes_normalize!
831
834
 
@@ -635,10 +635,15 @@ describe "JustEnumerableStats" do
635
635
 
636
636
  it "should be able to normalize a list" do
637
637
  b = @a.normalize
638
- b.should eql([1/6.0, 2/6.0, 3/6.0])
638
+ b.should eql([0, 1/2, 1])
639
639
  @a.normalize!
640
640
  @a.should eql(b)
641
641
  end
642
+
643
+ it "should normalize a list with repeating values" do
644
+ a = [1,2,3,2,1]
645
+ a.normalize.should eql([0, 1/2, 1, 1/2, 0])
646
+ end
642
647
 
643
648
  context "scale_between" do
644
649
  before do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: davidrichards-just_enumerable_stats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Richards
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-13 00:00:00 -07:00
12
+ date: 2009-09-14 00:00:00 -07:00
13
13
  default_executable: jes
14
14
  dependencies: []
15
15