module BenchmarkDriver::Repeater
def average_result(values, rest_on_average)
def average_result(values, rest_on_average) unless values.first.is_a?(Array) return values.inject(&:+) / values.size.to_f end case rest_on_average when :first rest = values.first[1..-1] [values.map { |v| v[0] }.inject(&:+) / values.size.to_f, *rest] when :average values.first.size.times.map do |index| values.map { |v| v[index] }.inject(&:+) / values.size.to_f end else raise "unexpected rest_on_average #{rest_on_average.inspect}" end end