Chris@33: Chris@33: module test.test_blockfuncs; Chris@33: Chris@33: stdSqrt = sqrt; Chris@33: Chris@33: { zeros, ones, fromList, list } = load block; Chris@33: { sum, mean, sqr, sqrt, rms } = load blockfuncs; Chris@33: { declare, compare } = load test.test; Chris@33: Chris@33: declare [ Chris@33: Chris@33: "sum": \( Chris@33: compare ((sum . zeros) 0) 0 and Chris@33: compare ((sum . zeros) 5) 0 and Chris@33: compare ((sum . ones) 5) 5 and Chris@33: compare ((sum . fromList) [1,-2,3,0]) 2 Chris@33: ), Chris@33: Chris@33: "mean": \( Chris@33: compare ((mean . zeros) 0) 0 and Chris@33: compare ((mean . zeros) 5) 0 and Chris@33: compare ((mean . ones) 5) 1 and Chris@33: compare ((mean . fromList) [1,-2,3,0]) 0.5 Chris@33: ), Chris@33: Chris@33: "sqr": \( Chris@33: compare ((list . sqr . zeros) 0) [] and Chris@33: compare ((list . sqr . ones) 5) [1,1,1,1,1] and Chris@33: compare ((list . sqr . fromList) [0.5,-2,3,0]) [0.25,4,9,0] Chris@33: ), Chris@33: Chris@33: "sqrt": \( Chris@33: compare ((list . sqrt . zeros) 0) [] and Chris@33: compare ((list . sqrt . ones) 5) [1,1,1,1,1] and Chris@33: compare ((list . sqrt . fromList) [0.25,4,9,0]) [0.5,2,3,0] Chris@33: ), Chris@33: Chris@33: "rms": \( Chris@33: compare ((rms . zeros) 0) 0 and Chris@33: compare ((rms . ones) 5) 1 and Chris@33: compare ((rms . fromList) [-1,2,2]) (stdSqrt 3) Chris@33: ), Chris@33: Chris@33: ]; Chris@33: