lib/facet/enumerable/probability.rb in facets-1.1.0 vs lib/facet/enumerable/probability.rb in facets-1.2.0
- old
+ new
@@ -1,59 +2 @@
-#--
-# Credit goes to Brian Schröder for current code
-# and Derek for original.
-#++
-module Enumerable
-
- # Generates a hash mapping each unique symbol in the array
- # to the relative frequency, i.e. the probablity, of
- # it appearence.
- def probability
- probs = Hash.new(0.0)
- size = 0.0
- each do | e |
- probs[e] += 1.0
- size += 1.0
- end
- probs.keys.each { |e| probs[e] /= size }
- probs
- end
-
-# old def
-#
-# def probability
-# arr = self.to_a
-# probHash = Hash.new
-# size = arr.size.to_f
-# arr.uniq.each do |i|
-# ct = arr.inject(0) do |mem,obj|
-# obj.eql?(i) ? (mem+1) : mem
-# end
-# probHash[i] = ct.to_f/size
-# end
-# probHash
-# end
-
-end
-
-
-
-# _____ _
-# |_ _|__ ___| |_
-# | |/ _ \/ __| __|
-# | | __/\__ \ |_
-# |_|\___||___/\__|
-#
-=begin test
-
- require 'test/unit'
-
- class TCEnumerable < Test::Unit::TestCase
-
- def test_probability
- assert_equal( {'a'=>0.5,'b'=>0.5}, %w{a b}.probability )
- assert_equal( {'tom'=>0.5,'boy'=>0.5}, %w{tom boy}.probability )
- end
-
- end
-
-=end
+require 'facets/core/enumerable/probability.rb'
\ No newline at end of file