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])