annotate yetilab/vector/test/test_vector.yeti @ 269:0011c9a8c0ec

Add repeated
author Chris Cannam
date Thu, 23 May 2013 14:39:40 +0100
parents c7efd12c27c5
children 197d23954a4e
rev   line source
Chris@27 1
Chris@222 2 module yetilab.vector.test.test_vector;
Chris@27 3
Chris@222 4 vec = load yetilab.vector.vector;
Chris@27 5
Chris@93 6 { compare } = load yetilab.test.test;
Chris@53 7
Chris@53 8 [
Chris@27 9
Chris@27 10 "zeros-empty": \(
Chris@27 11 v = vec.zeros 0;
Chris@53 12 compare (vec.length v) 0;
Chris@27 13 ),
Chris@27 14
Chris@27 15 "zeros": \(
Chris@27 16 v = vec.zeros 3;
Chris@211 17 a = vec.array v;
Chris@53 18 compare (vec.length v) 3 and
Chris@211 19 compare a[0] 0 and
Chris@211 20 compare a[1] 0 and
Chris@211 21 compare a[2] 0;
Chris@27 22 ),
Chris@27 23
Chris@36 24 "consts-empty": \(
Chris@36 25 v = vec.consts 4 0;
Chris@53 26 compare (vec.length v) 0;
Chris@36 27 ),
Chris@36 28
Chris@36 29 "consts": \(
Chris@36 30 v = vec.consts 4 3;
Chris@211 31 a = vec.array v;
Chris@53 32 compare (vec.length v) 3 and
Chris@211 33 compare a[0] 4 and
Chris@211 34 compare a[1] 4 and
Chris@211 35 compare a[2] 4;
Chris@36 36 ),
Chris@36 37
Chris@27 38 "ones-empty": \(
Chris@27 39 v = vec.ones 0;
Chris@53 40 compare (vec.length v) 0;
Chris@27 41 ),
Chris@27 42
Chris@27 43 "ones": \(
Chris@27 44 v = vec.ones 3;
Chris@211 45 a = vec.array v;
Chris@53 46 compare (vec.length v) 3 and
Chris@211 47 compare a[0] 1 and
Chris@211 48 compare a[1] 1 and
Chris@211 49 compare a[2] 1;
Chris@27 50 ),
Chris@27 51
Chris@27 52 "from-list-empty": \(
Chris@211 53 v = vec.fromList [];
Chris@53 54 compare (vec.length v) 0;
Chris@27 55 ),
Chris@27 56
Chris@27 57 "from-list": \(
Chris@211 58 v = vec.fromList [1,2,3,4];
Chris@211 59 a = vec.array v;
Chris@53 60 compare (vec.length v) 4 and
Chris@211 61 compare a[0] 1 and
Chris@211 62 compare a[1] 2 and
Chris@211 63 compare a[2] 3 and
Chris@211 64 compare a[3] 4;
Chris@27 65 ),
Chris@27 66
Chris@27 67 "equal-empty": \(
Chris@211 68 vec.equal (vec.fromList []) (vec.fromList [])
Chris@27 69 ),
Chris@27 70
Chris@27 71 "equal": \(
Chris@211 72 v = vec.fromList [1,1,1,1];
Chris@27 73 w = vec.ones 4;
Chris@27 74 w' = vec.zeros 4;
Chris@27 75 w'' = vec.ones 3;
Chris@27 76 vec.equal v w and not vec.equal v w' and not vec.equal v w'';
Chris@27 77 ),
Chris@27 78
Chris@260 79 "slice": \(
Chris@211 80 v = vec.fromList [1,2,3,4];
Chris@260 81 vec.equal (vec.slice v 0 4) v and (
Chris@260 82 vec.equal (vec.slice v 2 4) (vec.fromList [3,4])
Chris@27 83 )
Chris@27 84 ),
Chris@27 85
Chris@27 86 "resizedTo": \(
Chris@211 87 vec.equal (vec.resizedTo 4 (vec.fromList [])) (vec.zeros 4) and
Chris@211 88 vec.equal (vec.resizedTo 2 (vec.fromList [1,2])) (vec.fromList [1,2]) and
Chris@211 89 vec.equal (vec.resizedTo 3 (vec.fromList [1,2])) (vec.fromList [1,2,0]) and
Chris@211 90 vec.equal (vec.resizedTo 2 (vec.fromList [1,2,3])) (vec.fromList [1,2]);
Chris@27 91 ),
Chris@27 92
Chris@269 93 "repeated": \(
Chris@269 94 vec.equal (vec.repeated (vec.fromList []) 2) (vec.fromList []) and
Chris@269 95 vec.equal (vec.repeated (vec.fromList [1,2,3]) 0) (vec.fromList []) and
Chris@269 96 vec.equal (vec.repeated (vec.fromList [1,2,3]) 1) (vec.fromList [1,2,3]) and
Chris@269 97 vec.equal (vec.repeated (vec.fromList [1,2,3]) 2) (vec.fromList [1,2,3,1,2,3])
Chris@269 98 ),
Chris@269 99
Chris@265 100 "reversed": \(
Chris@265 101 vec.equal (vec.reversed (vec.fromList [])) (vec.fromList []) and
Chris@265 102 vec.equal (vec.reversed (vec.fromList [1,2,3])) (vec.fromList [3,2,1]) and
Chris@265 103 vec.equal (vec.reversed (vec.fromList [1,2])) (vec.fromList [2,1])
Chris@265 104 ),
Chris@265 105
Chris@35 106 "concat2": \(
Chris@211 107 v = vec.fromList [1,2,3];
Chris@211 108 w = vec.fromList [4,5,6];
Chris@35 109 x = vec.concat [v, w];
Chris@211 110 x' = vec.fromList [1,2,3,4,5,6];
Chris@27 111 vec.equal x x' and
Chris@211 112 vec.equal x' (vec.concat [x', vec.fromList []]) and
Chris@211 113 vec.equal x' (vec.concat [vec.fromList [], x'])
Chris@35 114 ),
Chris@35 115
Chris@35 116 "concatn": \(
Chris@211 117 v = vec.fromList [1,2,3];
Chris@211 118 w = vec.fromList [4,5,6];
Chris@35 119 vec.equal (vec.concat []) (vec.zeros 0) and
Chris@35 120 vec.equal (vec.concat [v]) v and
Chris@211 121 vec.equal (vec.concat [v,w,v]) (vec.fromList [1,2,3,4,5,6,1,2,3])
Chris@27 122 ),
Chris@27 123
Chris@53 124 ] is hash<string, () -> boolean>;
Chris@27 125
Chris@28 126
Chris@53 127