Module: Bench::Stats
- Defined in:
- lib/bench9000/stats.rb
Class Method Summary collapse
- .format_percent(p) ⇒ Object
- .mean(samples) ⇒ Object
- .range(samples) ⇒ Object
- .sample_variance(samples) ⇒ Object
- .standard_deviation(samples) ⇒ Object
- .sum(samples) ⇒ Object
Class Method Details
.format_percent(p) ⇒ Object
35 36 37 |
# File 'lib/bench9000/stats.rb', line 35 def self.format_percent(p) "#{(p * 100).round(2)}%" end |
.mean(samples) ⇒ Object
17 18 19 |
# File 'lib/bench9000/stats.rb', line 17 def self.mean(samples) sum(samples) / samples.size end |
.range(samples) ⇒ Object
31 32 33 |
# File 'lib/bench9000/stats.rb', line 31 def self.range(samples) samples.max - samples.min end |
.sample_variance(samples) ⇒ Object
21 22 23 24 25 |
# File 'lib/bench9000/stats.rb', line 21 def self.sample_variance(samples) m = mean(samples) sum = samples.inject(0) { |a, i| a + (i - m)**2 } sum / (samples.length - 1).to_f end |
.standard_deviation(samples) ⇒ Object
27 28 29 |
# File 'lib/bench9000/stats.rb', line 27 def self.standard_deviation(samples) Math.sqrt(sample_variance(samples)) end |
.sum(samples) ⇒ Object
13 14 15 |
# File 'lib/bench9000/stats.rb', line 13 def self.sum(samples) samples.inject(0, :+) end |