Class: Musicality::Probabilities
- Inherits:
-
Object
- Object
- Musicality::Probabilities
- Defined in:
- lib/musicality/composition/util/probabilities.rb
Class Method Summary collapse
Class Method Details
.random(n) ⇒ Object
13 14 15 16 17 |
# File 'lib/musicality/composition/util/probabilities.rb', line 13 def self.random n cumulative_probs = Array.new(n-1){ rand }.sort + [1] x0 = 0 cumulative_probs.map {|x| y = x - x0; x0 = x; y } end |
.uniform(n) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/musicality/composition/util/probabilities.rb', line 4 def self.uniform n probs = [1/n.to_f]*n sum = probs.inject(0,:+) if sum != 1 probs[0] += (1 - sum) end return probs end |