Name: simulation/legacy/minmaxcalc.rb
| 1: | require 'pp' |
| 2: | |
| 3: | class D |
| 4: | attr_reader :min, :avg, :max |
| 5: | attr_accessor :smin, :savg, :smax |
| 6: | def initialize(min,avg,max) |
| 7: | @min, @avg, @max, = min, avg, max |
| 8: | @smin, @savg, @smax = 0 |
| 9: | end |
| 10: | end |
| 11: | |
| 12: | a = {:a1=>D.new(2,3,4),:a2=>D.new(7,8,9),:a3=>D.new(6,7,8)} |
| 13: | b = {:b1=>D.new(1,2,3),:b2=>D.new(7,8,9),:b3=>D.new(0,1,2)} |
| 14: | |
| 15: | def timing(t) |
| 16: | smin = 0 |
| 17: | savg = 0 |
| 18: | smax = 0 |
| 19: | t.each do |k,v| |
| 20: | v.smin = smin |
| 21: | v.savg = savg |
| 22: | v.smax = smax |
| 23: | smin += v.min |
| 24: | savg += v.avg |
| 25: | smax += v.max |
| 26: | end |
| 27: | end |
| 28: | |
| 29: | def serialize(it) |
| 30: | it.each do |t| |
| 31: | timing(t) |
| 32: | end |
| 33: | it |
| 34: | end |
| 35: | |
| 36: | pp serialize([a,b]) |
