Chris@16
|
1
|
Chris@93
|
2 module yetilab.stream.test.test_framer;
|
Chris@16
|
3
|
Chris@93
|
4 fr = load yetilab.stream.framer;
|
Chris@93
|
5 block = load yetilab.block.block;
|
Chris@158
|
6 mat = load yetilab.matrix.matrix;
|
Chris@23
|
7
|
Chris@158
|
8 { compare, compareUsing, testStream } = load yetilab.test.test;
|
Chris@158
|
9
|
Chris@158
|
10 compareFrames frames1 frames2 =
|
Chris@158
|
11 all id (map2 do f1 f2: compareUsing mat.equal f1 f2 done frames1
|
Chris@163
|
12 (map (mat.newRowVector . block.fromList) frames2));
|
Chris@53
|
13
|
Chris@53
|
14 [
|
Chris@16
|
15
|
Chris@23
|
16 "framecount-2x2": \(
|
Chris@53
|
17 fr = fr.frames { framesize = 2, hop = 2 } (testStream 2);
|
Chris@53
|
18 compare (length fr) 1
|
Chris@16
|
19 ),
|
Chris@16
|
20
|
Chris@23
|
21 "framecount-2x3": \(
|
Chris@53
|
22 fr = fr.frames { framesize = 2, hop = 2 } (testStream 3);
|
Chris@53
|
23 compare (length fr) 2
|
Chris@16
|
24 ),
|
Chris@16
|
25
|
Chris@23
|
26 "framecount-2x4": \(
|
Chris@53
|
27 fr = fr.frames { framesize = 2, hop = 2 } (testStream 4);
|
Chris@53
|
28 compare (length fr) 2
|
Chris@23
|
29 ),
|
Chris@23
|
30
|
Chris@23
|
31 "framecount-2.1x0": \(
|
Chris@53
|
32 fr = fr.frames { framesize = 2, hop = 1 } (testStream 0);
|
Chris@53
|
33 compare (length fr) 1
|
Chris@23
|
34 ),
|
Chris@23
|
35
|
Chris@23
|
36 "framecount-2.1x1": \(
|
Chris@53
|
37 fr = fr.frames { framesize = 2, hop = 1 } (testStream 1);
|
Chris@53
|
38 compare (length fr) 2
|
Chris@23
|
39 ),
|
Chris@23
|
40
|
Chris@23
|
41 "framecount-2.1x2": \(
|
Chris@53
|
42 fr = fr.frames { framesize = 2, hop = 1 } (testStream 2);
|
Chris@53
|
43 compare (length fr) 3
|
Chris@23
|
44 ),
|
Chris@23
|
45
|
Chris@23
|
46 "framecount-2.1x3": \(
|
Chris@53
|
47 fr = fr.frames { framesize = 2, hop = 1 } (testStream 3);
|
Chris@53
|
48 compare (length fr) 4
|
Chris@23
|
49 ),
|
Chris@23
|
50
|
Chris@23
|
51 "framecount-4.1x4": \(
|
Chris@53
|
52 fr = fr.frames { framesize = 4, hop = 1 } (testStream 4);
|
Chris@53
|
53 compare (length fr) 7
|
Chris@23
|
54 ),
|
Chris@23
|
55
|
Chris@23
|
56 "framecount-4.3x4": \(
|
Chris@53
|
57 fr = fr.frames { framesize = 4, hop = 3 } (testStream 4);
|
Chris@53
|
58 compare (length fr) 2
|
Chris@23
|
59 ),
|
Chris@23
|
60
|
Chris@23
|
61 "framecount-4.4x4": \(
|
Chris@53
|
62 fr = fr.frames { framesize = 4, hop = 4 } (testStream 4);
|
Chris@53
|
63 compare (length fr) 1
|
Chris@23
|
64 ),
|
Chris@23
|
65
|
Chris@23
|
66 "framecount-3.2x4": \(
|
Chris@53
|
67 fr = fr.frames { framesize = 3, hop = 2 } (testStream 4);
|
Chris@53
|
68 compare (length fr) 3
|
Chris@23
|
69 ),
|
Chris@23
|
70
|
Chris@24
|
71 "frames-2x5": \(
|
Chris@53
|
72 fr = fr.frames { framesize = 2, hop = 2 } (testStream 5);
|
Chris@31
|
73 expected = [ [1,2], [3,4], [5,0] ];
|
Chris@158
|
74 compareFrames fr expected;
|
Chris@24
|
75 ),
|
Chris@24
|
76
|
Chris@23
|
77 "frames-4.3x4": \(
|
Chris@53
|
78 fr = fr.frames { framesize = 4, hop = 3 } (testStream 4);
|
Chris@31
|
79 expected = [ [0,1,2,3], [3,4,0,0] ];
|
Chris@158
|
80 compareFrames fr expected;
|
Chris@23
|
81 ),
|
Chris@23
|
82
|
Chris@23
|
83 "frames-3.2x4": \(
|
Chris@53
|
84 fr = fr.frames { framesize = 3, hop = 2 } (testStream 4);
|
Chris@31
|
85 expected = [ [0,1,2], [2,3,4], [4,0,0] ];
|
Chris@158
|
86 compareFrames fr expected;
|
Chris@23
|
87 ),
|
Chris@23
|
88
|
Chris@23
|
89 "frames-3.1x6": \(
|
Chris@53
|
90 fr = fr.frames { framesize = 3, hop = 1 } (testStream 6);
|
Chris@31
|
91 expected = [ [0,0,1], [0,1,2], [1,2,3], [2,3,4],
|
Chris@31
|
92 [3,4,5], [4,5,6], [5,6,0], [6,0,0] ];
|
Chris@158
|
93 compareFrames fr expected;
|
Chris@16
|
94 ),
|
Chris@16
|
95
|
Chris@53
|
96 ] is hash<string, () -> boolean>;
|
Chris@16
|
97
|
Chris@16
|
98
|
Chris@27
|
99
|