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
|