annotate yetilab/vector/test/test_blockfuncs.yeti @ 254:5eb57c649de0 sparse

Using hashes is simpler, but turns out to be mostly no faster and sometimes much slower. Not one to merge back.
author Chris Cannam
date Tue, 21 May 2013 17:40:33 +0100
parents ac1373067054
children 97e97a2e6a4e
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@222 6 { zeros, consts, ones, fromList, list } = load yetilab.vector.vector;
Chris@229 7 { sum, max, min, mean, multiply, divideBy, 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@36 40 "multiply": \(
Chris@36 41 compare (list (multiply (zeros 0) (ones 5))) [] and
Chris@36 42 compare (list (multiply (consts (-3) 4) (fromList [1,2,3]))) [-3,-6,-9]
Chris@36 43 ),
Chris@36 44
Chris@40 45 "divideBy": \(
Chris@40 46 compare (list (divideBy 5 (ones 0))) [] and
Chris@40 47 compare (list (divideBy 5 (fromList [1,2,-3]))) [0.2,0.4,-0.6]
Chris@40 48 ),
Chris@40 49
Chris@33 50 "sqr": \(
Chris@33 51 compare ((list . sqr . zeros) 0) [] and
Chris@33 52 compare ((list . sqr . ones) 5) [1,1,1,1,1] and
Chris@33 53 compare ((list . sqr . fromList) [0.5,-2,3,0]) [0.25,4,9,0]
Chris@33 54 ),
Chris@33 55
Chris@33 56 "sqrt": \(
Chris@33 57 compare ((list . sqrt . zeros) 0) [] and
Chris@33 58 compare ((list . sqrt . ones) 5) [1,1,1,1,1] and
Chris@33 59 compare ((list . sqrt . fromList) [0.25,4,9,0]) [0.5,2,3,0]
Chris@33 60 ),
Chris@33 61
Chris@33 62 "rms": \(
Chris@33 63 compare ((rms . zeros) 0) 0 and
Chris@33 64 compare ((rms . ones) 5) 1 and
Chris@33 65 compare ((rms . fromList) [-1,2,2]) (stdSqrt 3)
Chris@33 66 ),
Chris@33 67
Chris@37 68 "fftshift": \(
Chris@37 69 compare ((list . fftshift . zeros) 0) [] and
Chris@37 70 compare ((list . fftshift . fromList) [1,2,3,4]) [3,4,1,2] and
Chris@37 71 compare ((list . fftshift . fromList) [1,2,3,4,5]) [4,5,1,2,3]
Chris@37 72 ),
Chris@37 73
Chris@37 74 "ifftshift": \(
Chris@37 75 compare ((list . ifftshift . zeros) 0) [] and
Chris@37 76 compare ((list . ifftshift . fromList) [3,4,1,2]) [1,2,3,4] and
Chris@37 77 compare ((list . ifftshift . fromList) [4,5,1,2,3]) [1,2,3,4,5]
Chris@37 78 ),
Chris@37 79
Chris@53 80 ] is hash<string, () -> boolean>;
Chris@33 81
Chris@53 82