// Test (max,+) convolution: f1 *^ f2
// f1(x) = 2x + 5
// f2(x) = 3x + 2
// Expected result: (f1 *^ f2)(t) = 3t + 7 (slope 2\/3=3, burst 5+2=7)
> f1 := affine ( 2 , 5 )
f1 = new Curve(baseSequence: new Sequence(new List<Element>{ new Point(0,5), new Segment(0,1,5,2) }), pseudoPeriodStart: 0, pseudoPeriodLength: 1, pseudoPeriodHeight: 2)
> f2 := affine ( 3 , 2 )
f2 = new Curve(baseSequence: new Sequence(new List<Element>{ new Point(0,2), new Segment(0,1,2,3) }), pseudoPeriodStart: 0, pseudoPeriodLength: 1, pseudoPeriodHeight: 3)
> result := f1 *^ f2
result = new Curve(baseSequence: new Sequence(new List<Element>{ new Point(0,7), new Segment(0,1,7,3) }), pseudoPeriodStart: 0, pseudoPeriodLength: 1, pseudoPeriodHeight: 3)
> expected := affine ( 3 , 7 )
expected = new Curve(baseSequence: new Sequence(new List<Element>{ new Point(0,7), new Segment(0,1,7,3) }), pseudoPeriodStart: 0, pseudoPeriodLength: 1, pseudoPeriodHeight: 3)
> assert ( result = expected )
true
