annotate yetilab/vector/test/test_blockfuncs.yeti @ 297:07389b654ff0

Make add take a list rather than just 2
author Chris Cannam
date Fri, 31 May 2013 22:02:24 +0100
parents 197d23954a4e
children
rev   line source
Chris@33 1
Chris@222 2 module yetilab.vector.test.test_blockfuncs;
Chris@33 3
Chris@33 4 stdSqrt = sqrt;
Chris@33 5
Chris@273 6 { zeros, consts, ones, fromList, list } = load yetilab.vector;
Chris@256 7 { sum, max, min, mean, add, subtract, multiply, divideBy, scaled, abs, sqr, sqrt, rms, fftshift, ifftshift } = load yetilab.vector.blockfuncs;
Chris@93 8 { compare } = load yetilab.test.test;
Chris@33 9
Chris@53 10 [
Chris@33 11
Chris@33 12 "sum": \(
Chris@33 13 compare ((sum . zeros) 0) 0 and
Chris@33 14 compare ((sum . zeros) 5) 0 and
Chris@33 15 compare ((sum . ones) 5) 5 and
Chris@33 16 compare ((sum . fromList) [1,-2,3,0]) 2
Chris@33 17 ),
Chris@33 18
Chris@229 19 "max": \(
Chris@229 20 compare ((max . fromList) [1,-2,3,0]) 3 and
Chris@229 21 compare ((max . fromList) [-1,-2,-3]) (-1) and
Chris@229 22 compare ((max . fromList) [4,1]) 4 and
Chris@229 23 compare ((max . fromList) []) 0
Chris@229 24 ),
Chris@229 25
Chris@229 26 "min": \(
Chris@229 27 compare ((min . fromList) [1,-2,3,0]) (-2) and
Chris@229 28 compare ((min . fromList) [-1,-2,-3]) (-3) and
Chris@229 29 compare ((min . fromList) [4,1]) 1 and
Chris@229 30 compare ((min . fromList) []) 0
Chris@229 31 ),
Chris@229 32
Chris@33 33 "mean": \(
Chris@33 34 compare ((mean . zeros) 0) 0 and
Chris@33 35 compare ((mean . zeros) 5) 0 and
Chris@33 36 compare ((mean . ones) 5) 1 and
Chris@33 37 compare ((mean . fromList) [1,-2,3,0]) 0.5
Chris@33 38 ),
Chris@33 39
Chris@256 40 "add": \(
Chris@297 41 compare (list (add [zeros 0, ones 5])) [] and
Chris@297 42 compare (list (add [consts 3 4, fromList [1,2,3] ])) [4,5,6] and
Chris@297 43 compare (list (add [consts (-3) 4, fromList [1,2,3] ])) [-2,-1,0]
Chris@256 44 ),
Chris@256 45
Chris@256 46 "subtract": \(
Chris@256 47 compare (list (subtract (zeros 0) (ones 5))) [] and
Chris@256 48 compare (list (subtract (consts 3 4) (fromList [1,2,3]))) [2,1,0] and
Chris@256 49 compare (list (subtract (consts (-3) 4) (fromList [1,2,3]))) [-4,-5,-6]
Chris@256 50 ),
Chris@256 51
Chris@36 52 "multiply": \(
Chris@36 53 compare (list (multiply (zeros 0) (ones 5))) [] and
Chris@36 54 compare (list (multiply (consts (-3) 4) (fromList [1,2,3]))) [-3,-6,-9]
Chris@36 55 ),
Chris@36 56
Chris@40 57 "divideBy": \(
Chris@40 58 compare (list (divideBy 5 (ones 0))) [] and
Chris@40 59 compare (list (divideBy 5 (fromList [1,2,-3]))) [0.2,0.4,-0.6]
Chris@40 60 ),
Chris@40 61
Chris@256 62 "scaled": \(
Chris@256 63 compare (list (scaled 5 (ones 0))) [] and
Chris@256 64 compare (list (scaled 5 (fromList [1,2,-3]))) [5,10,-15]
Chris@256 65 ),
Chris@256 66
Chris@256 67 "abs": \(
Chris@256 68 compare (list (abs (ones 0))) [] and
Chris@256 69 compare (list (abs (fromList [1,2,-3]))) [1,2,3]
Chris@256 70 ),
Chris@256 71
Chris@33 72 "sqr": \(
Chris@33 73 compare ((list . sqr . zeros) 0) [] and
Chris@33 74 compare ((list . sqr . ones) 5) [1,1,1,1,1] and
Chris@33 75 compare ((list . sqr . fromList) [0.5,-2,3,0]) [0.25,4,9,0]
Chris@33 76 ),
Chris@33 77
Chris@33 78 "sqrt": \(
Chris@33 79 compare ((list . sqrt . zeros) 0) [] and
Chris@33 80 compare ((list . sqrt . ones) 5) [1,1,1,1,1] and
Chris@33 81 compare ((list . sqrt . fromList) [0.25,4,9,0]) [0.5,2,3,0]
Chris@33 82 ),
Chris@33 83
Chris@33 84 "rms": \(
Chris@33 85 compare ((rms . zeros) 0) 0 and
Chris@33 86 compare ((rms . ones) 5) 1 and
Chris@33 87 compare ((rms . fromList) [-1,2,2]) (stdSqrt 3)
Chris@33 88 ),
Chris@33 89
Chris@37 90 "fftshift": \(
Chris@37 91 compare ((list . fftshift . zeros) 0) [] and
Chris@37 92 compare ((list . fftshift . fromList) [1,2,3,4]) [3,4,1,2] and
Chris@37 93 compare ((list . fftshift . fromList) [1,2,3,4,5]) [4,5,1,2,3]
Chris@37 94 ),
Chris@37 95
Chris@37 96 "ifftshift": \(
Chris@37 97 compare ((list . ifftshift . zeros) 0) [] and
Chris@37 98 compare ((list . ifftshift . fromList) [3,4,1,2]) [1,2,3,4] and
Chris@37 99 compare ((list . ifftshift . fromList) [4,5,1,2,3]) [1,2,3,4,5]
Chris@37 100 ),
Chris@37 101
Chris@53 102 ] is hash<string, () -> boolean>;
Chris@33 103
Chris@53 104