]> gitweb.factorcode.org Git - factor.git/blob - extra/math/blas/vectors/vectors-tests.factor
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
[factor.git] / extra / math / blas / vectors / vectors-tests.factor
1 USING: kernel math.blas.vectors math.functions sequences tools.test ;
2 IN: math.blas.vectors.tests
3
4 ! clone
5
6 { svector{ 1.0 2.0 3.0 } } [ svector{ 1.0 2.0 3.0 } clone ] unit-test
7 { f } [ svector{ 1.0 2.0 3.0 } dup clone eq? ] unit-test
8 { dvector{ 1.0 2.0 3.0 } } [ dvector{ 1.0 2.0 3.0 } clone ] unit-test
9 { f } [ dvector{ 1.0 2.0 3.0 } dup clone eq? ] unit-test
10 { cvector{ 1.0 C{ 2.0 3.0 } 4.0 } } [ cvector{ 1.0 C{ 2.0 3.0 } 4.0 } clone ] unit-test
11 { f } [ cvector{ 1.0 C{ 2.0 3.0 } 4.0 } dup clone eq? ] unit-test
12 { zvector{ 1.0 C{ 2.0 3.0 } 4.0 } } [ zvector{ 1.0 C{ 2.0 3.0 } 4.0 } clone ] unit-test
13 { f } [ zvector{ 1.0 C{ 2.0 3.0 } 4.0 } dup clone eq? ] unit-test
14
15 ! nth
16
17 { 1.0 } [ 2 svector{ 3.0 2.0 1.0 } nth ] unit-test
18 { 1.0 } [ 2 dvector{ 3.0 2.0 1.0 } nth ] unit-test
19
20 { C{ 1.0 2.0 } }
21 [ 2 cvector{ C{ -3.0 -2.0 } C{ -1.0 0.0 } C{ 1.0 2.0 } } nth ] unit-test
22
23 { C{ 1.0 2.0 } }
24 [ 2 zvector{ C{ -3.0 -2.0 } C{ -1.0 0.0 } C{ 1.0 2.0 } } nth ] unit-test
25
26 ! set-nth
27
28 { svector{ 3.0 2.0 0.0 } } [ 0.0 2 svector{ 3.0 2.0 1.0 } [ set-nth ] keep ] unit-test
29 { dvector{ 3.0 2.0 0.0 } } [ 0.0 2 dvector{ 3.0 2.0 1.0 } [ set-nth ] keep ] unit-test
30
31 { cvector{ C{ -3.0 -2.0 } C{ -1.0 0.0 } C{ 3.0 4.0 } } } [
32     C{ 3.0 4.0 } 2
33     cvector{ C{ -3.0 -2.0 } C{ -1.0 0.0 } C{ 1.0 2.0 } }
34     [ set-nth ] keep
35 ] unit-test
36 { zvector{ C{ -3.0 -2.0 } C{ -1.0 0.0 } C{ 3.0 4.0 } } } [
37     C{ 3.0 4.0 } 2
38     zvector{ C{ -3.0 -2.0 } C{ -1.0 0.0 } C{ 1.0 2.0 } }
39     [ set-nth ] keep
40 ] unit-test
41
42 ! V+
43
44 { svector{ 11.0 22.0 } } [ svector{ 1.0 2.0 } svector{ 10.0 20.0 } V+ ] unit-test
45 { dvector{ 11.0 22.0 } } [ dvector{ 1.0 2.0 } dvector{ 10.0 20.0 } V+ ] unit-test
46
47 { cvector{ 11.0 C{ 22.0 33.0 } } }
48 [ cvector{ 1.0 C{ 2.0 3.0 } } cvector{ 10.0 C{ 20.0 30.0 } } V+ ]
49 unit-test
50
51 { zvector{ 11.0 C{ 22.0 33.0 } } }
52 [ zvector{ 1.0 C{ 2.0 3.0 } } zvector{ 10.0 C{ 20.0 30.0 } } V+ ]
53 unit-test
54
55 ! V-
56
57 { svector{ 9.0 18.0 } } [ svector{ 10.0 20.0 } svector{ 1.0 2.0 } V- ] unit-test
58 { dvector{ 9.0 18.0 } } [ dvector{ 10.0 20.0 } dvector{ 1.0 2.0 } V- ] unit-test
59
60 { cvector{ 9.0 C{ 18.0 27.0 } } }
61 [ cvector{ 10.0 C{ 20.0 30.0 } } cvector{ 1.0 C{ 2.0 3.0 } } V- ]
62 unit-test
63
64 { zvector{ 9.0 C{ 18.0 27.0 } } }
65 [ zvector{ 10.0 C{ 20.0 30.0 } } zvector{ 1.0 C{ 2.0 3.0 } } V- ]
66 unit-test
67
68 ! Vneg
69
70 { svector{ 1.0 -2.0 } } [ svector{ -1.0 2.0 } Vneg ] unit-test
71 { dvector{ 1.0 -2.0 } } [ dvector{ -1.0 2.0 } Vneg ] unit-test
72
73 { cvector{ 1.0 C{ -2.0 3.0 } } } [ cvector{ -1.0 C{ 2.0 -3.0 } } Vneg ] unit-test
74 { zvector{ 1.0 C{ -2.0 3.0 } } } [ zvector{ -1.0 C{ 2.0 -3.0 } } Vneg ] unit-test
75
76 ! n*V
77
78 { svector{ 100.0 200.0 } } [ 10.0 svector{ 10.0 20.0 } n*V ] unit-test
79 { dvector{ 100.0 200.0 } } [ 10.0 dvector{ 10.0 20.0 } n*V ] unit-test
80
81 { cvector{ C{ 20.0 4.0 } C{ 8.0 12.0 } } }
82 [ C{ 10.0 2.0 } cvector{ 2.0 C{ 1.0 1.0 } } n*V ]
83 unit-test
84
85 { zvector{ C{ 20.0 4.0 } C{ 8.0 12.0 } } }
86 [ C{ 10.0 2.0 } zvector{ 2.0 C{ 1.0 1.0 } } n*V ]
87 unit-test
88
89 ! V*n
90
91 { svector{ 100.0 200.0 } } [ svector{ 10.0 20.0 } 10.0 V*n ] unit-test
92 { dvector{ 100.0 200.0 } } [ dvector{ 10.0 20.0 } 10.0 V*n ] unit-test
93
94 { cvector{ C{ 20.0 4.0 } C{ 8.0 12.0 } } }
95 [ cvector{ 2.0 C{ 1.0 1.0 } } C{ 10.0 2.0 } V*n ]
96 unit-test
97
98 { zvector{ C{ 20.0 4.0 } C{ 8.0 12.0 } } }
99 [ zvector{ 2.0 C{ 1.0 1.0 } } C{ 10.0 2.0 } V*n ]
100 unit-test
101
102 ! V/n
103
104 { svector{ 1.0 2.0 } } [ svector{ 4.0 8.0 } 4.0 V/n ] unit-test
105 { dvector{ 1.0 2.0 } } [ dvector{ 4.0 8.0 } 4.0 V/n ] unit-test
106
107 { cvector{ C{ 0.0 -4.0 } 1.0 } }
108 [ cvector{ C{ 4.0 -4.0 } C{ 1.0 1.0 } } C{ 1.0 1.0 } V/n ]
109 unit-test
110
111 { zvector{ C{ 0.0 -4.0 } 1.0 } }
112 [ zvector{ C{ 4.0 -4.0 } C{ 1.0 1.0 } } C{ 1.0 1.0 } V/n ]
113 unit-test
114
115 ! V.
116
117 { 7.0 } [ svector{ 1.0 2.5 } svector{ 2.0 2.0 } V. ] unit-test
118 { 7.0 } [ dvector{ 1.0 2.5 } dvector{ 2.0 2.0 } V. ] unit-test
119 { C{ 7.0 7.0 } } [ cvector{ C{ 1.0 1.0 } 2.5 } cvector{ 2.0 C{ 2.0 2.0 } } V. ] unit-test
120 { C{ 7.0 7.0 } } [ zvector{ C{ 1.0 1.0 } 2.5 } zvector{ 2.0 C{ 2.0 2.0 } } V. ] unit-test
121
122 ! V.conj
123
124 { C{ 7.0 3.0 } } [ cvector{ C{ 1.0 1.0 } 2.5 } cvector{ 2.0 C{ 2.0 2.0 } } V.conj ] unit-test
125 { C{ 7.0 3.0 } } [ zvector{ C{ 1.0 1.0 } 2.5 } zvector{ 2.0 C{ 2.0 2.0 } } V.conj ] unit-test
126
127 ! Vnorm
128
129 { t } [ svector{ 3.0 4.0 } Vnorm 5.0 0.000001 ~ ] unit-test
130 { t } [ dvector{ 3.0 4.0 } Vnorm 5.0 0.000001 ~ ] unit-test
131
132 { t } [ cvector{ C{ 3.0 4.0 } 12.0 } Vnorm 13.0 0.000001 ~ ] unit-test
133 { t } [ zvector{ C{ 3.0 4.0 } 12.0 } Vnorm 13.0 0.000001 ~ ] unit-test
134
135 ! Vasum
136
137 { 6.0 } [ svector{ 1.0 2.0 -3.0 } Vasum ] unit-test
138 { 6.0 } [ dvector{ 1.0 2.0 -3.0 } Vasum ] unit-test
139
140 { 15.0 } [ cvector{ 1.0 C{ -2.0 3.0 } C{ 4.0 -5.0 } } Vasum ] unit-test
141 { 15.0 } [ zvector{ 1.0 C{ -2.0 3.0 } C{ 4.0 -5.0 } } Vasum ] unit-test
142
143 ! Vswap
144
145 { svector{ 2.0 2.0 } svector{ 1.0 1.0 } }
146 [ svector{ 1.0 1.0 } svector{ 2.0 2.0 } Vswap ]
147 unit-test
148
149 { dvector{ 2.0 2.0 } dvector{ 1.0 1.0 } }
150 [ dvector{ 1.0 1.0 } dvector{ 2.0 2.0 } Vswap ]
151 unit-test
152
153 { cvector{ 2.0 C{ 2.0 2.0 } } cvector{ C{ 1.0 1.0 } 1.0 } }
154 [ cvector{ C{ 1.0 1.0 } 1.0 } cvector{ 2.0 C{ 2.0 2.0 } } Vswap ]
155 unit-test
156
157 { zvector{ 2.0 C{ 2.0 2.0 } } zvector{ C{ 1.0 1.0 } 1.0 } }
158 [ zvector{ C{ 1.0 1.0 } 1.0 } zvector{ 2.0 C{ 2.0 2.0 } } Vswap ]
159 unit-test
160
161 ! Viamax
162
163 { 3 } [ svector{ 1.0 -5.0 4.0 -6.0 -1.0 } Viamax ] unit-test
164 { 3 } [ dvector{ 1.0 -5.0 4.0 -6.0 -1.0 } Viamax ] unit-test
165 { 0 } [ cvector{ C{ 2.0 -5.0 } 4.0 -6.0 -1.0 } Viamax ] unit-test
166 { 0 } [ zvector{ C{ 2.0 -5.0 } 4.0 -6.0 -1.0 } Viamax ] unit-test
167
168 ! Vamax
169
170 { -6.0 } [ svector{ 1.0 -5.0 4.0 -6.0 -1.0 } Vamax ] unit-test
171 { -6.0 } [ dvector{ 1.0 -5.0 4.0 -6.0 -1.0 } Vamax ] unit-test
172 { C{ 2.0 -5.0 } } [ cvector{ C{ 2.0 -5.0 } 4.0 -6.0 -1.0 } Vamax ] unit-test
173 { C{ 2.0 -5.0 } } [ zvector{ C{ 2.0 -5.0 } 4.0 -6.0 -1.0 } Vamax ] unit-test
174
175 ! Vsub
176
177 { svector{ -5.0 4.0 -6.0 } } [ svector{ 1.0 -5.0 4.0 -6.0 -1.0 } 1 3 Vsub ] unit-test
178 { dvector{ -5.0 4.0 -6.0 } } [ dvector{ 1.0 -5.0 4.0 -6.0 -1.0 } 1 3 Vsub ] unit-test
179 { cvector{ -5.0 C{ 4.0 3.0 } -6.0 } } [ cvector{ 1.0 -5.0 C{ 4.0 3.0 } -6.0 -1.0 } 1 3 Vsub ] unit-test
180 { zvector{ -5.0 C{ 4.0 3.0 } -6.0 } } [ zvector{ 1.0 -5.0 C{ 4.0 3.0 } -6.0 -1.0 } 1 3 Vsub ] unit-test