2 Copyright (C) 2006, 2007 Sony Computer Entertainment Inc.
5 Redistribution and use in source and binary forms,
6 with or without modification, are permitted provided that the
7 following conditions are met:
8 * Redistributions of source code must retain the above copyright
9 notice, this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright
11 notice, this list of conditions and the following disclaimer in the
12 documentation and/or other materials provided with the distribution.
13 * Neither the name of the Sony Computer Entertainment Inc nor the names
14 of its contributors may be used to endorse or promote products derived
15 from this software without specific prior written permission.
17 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 POSSIBILITY OF SUCH DAMAGE.
30 #define _VECTORMATH_SOA_TEST
32 #include "vectormath_soa.h"
38 Matrix3_methods_test()
40 VmathSoaMatrix3 a_Matrix3, b_Matrix3;
41 VmathSoaMatrix4 a_Matrix4, b_Matrix4;
42 VmathSoaTransform3 a_Transform3, b_Transform3;
43 VmathSoaMatrix3 tmpM3_0, tmpM3_1, tmpM3_2, tmpM3_3, tmpM3_4, tmpM3_5;
44 VmathSoaVector3 a_Vector3, b_Vector3, c_Vector3, d_Vector3;
45 VmathSoaVector4 a_Vector4, b_Vector4, c_Vector4, d_Vector4;
46 VmathSoaPoint3 a_Point3, b_Point3, c_Point3, d_Point3;
47 VmathSoaQuat a_Quat, b_Quat, c_Quat, d_Quat;
48 VmathSoaVector3 tmpV3_0;
49 vec_float4 rndflt1, rndflt2, rndflt3, rndflt4, rndflt5, rndflt6;
50 rndflt1 = randfloat();
51 rndflt2 = randfloat();
52 rndflt3 = randfloat();
53 vmathSoaV3MakeFromElems( &a_Vector3, rndflt1, rndflt2, rndflt3 );
54 rndflt4 = randfloat();
55 rndflt5 = randfloat();
56 rndflt6 = randfloat();
57 vmathSoaV3MakeFromElems( &b_Vector3, rndflt4, rndflt5, rndflt6 );
58 rndflt1 = randfloat();
59 rndflt2 = randfloat();
60 rndflt3 = randfloat();
61 vmathSoaV3MakeFromElems( &c_Vector3, rndflt1, rndflt2, rndflt3 );
62 rndflt1 = randfloat();
63 rndflt2 = randfloat();
64 rndflt3 = randfloat();
65 vmathSoaV3MakeFromElems( &d_Vector3, rndflt1, rndflt2, rndflt3 );
66 vmathSoaV3Prints( &a_Vector3, "set Vector3 with floats" );
67 vmathSoaV3Prints( &b_Vector3, "set Vector3 with floats" );
68 vmathSoaV3Prints( &c_Vector3, "set Vector3 with floats" );
69 vmathSoaV3Prints( &d_Vector3, "set Vector3 with floats" );
70 rndflt1 = randfloat();
71 rndflt2 = randfloat();
72 rndflt3 = randfloat();
73 rndflt4 = randfloat();
74 vmathSoaV4MakeFromElems( &a_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
75 rndflt3 = randfloat();
76 rndflt4 = randfloat();
77 rndflt5 = randfloat();
78 rndflt6 = randfloat();
79 vmathSoaV4MakeFromElems( &b_Vector4, rndflt3, rndflt4, rndflt5, rndflt6 );
80 rndflt1 = randfloat();
81 rndflt2 = randfloat();
82 rndflt3 = randfloat();
83 rndflt4 = randfloat();
84 vmathSoaV4MakeFromElems( &c_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
85 rndflt1 = randfloat();
86 rndflt2 = randfloat();
87 rndflt3 = randfloat();
88 rndflt4 = randfloat();
89 vmathSoaV4MakeFromElems( &d_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
90 vmathSoaV4Prints( &a_Vector4, "set Vector4 with floats" );
91 vmathSoaV4Prints( &b_Vector4, "set Vector4 with floats" );
92 vmathSoaV4Prints( &c_Vector4, "set Vector4 with floats" );
93 vmathSoaV4Prints( &d_Vector4, "set Vector4 with floats" );
94 rndflt1 = randfloat();
95 rndflt2 = randfloat();
96 rndflt3 = randfloat();
97 vmathSoaP3MakeFromElems( &a_Point3, rndflt1, rndflt2, rndflt3 );
98 rndflt4 = randfloat();
99 rndflt5 = randfloat();
100 rndflt6 = randfloat();
101 vmathSoaP3MakeFromElems( &b_Point3, rndflt4, rndflt5, rndflt6 );
102 rndflt1 = randfloat();
103 rndflt2 = randfloat();
104 rndflt3 = randfloat();
105 vmathSoaP3MakeFromElems( &c_Point3, rndflt1, rndflt2, rndflt3 );
106 rndflt1 = randfloat();
107 rndflt2 = randfloat();
108 rndflt3 = randfloat();
109 vmathSoaP3MakeFromElems( &d_Point3, rndflt1, rndflt2, rndflt3 );
110 vmathSoaP3Prints( &a_Point3, "set Point3 with floats" );
111 vmathSoaP3Prints( &b_Point3, "set Point3 with floats" );
112 vmathSoaP3Prints( &c_Point3, "set Point3 with floats" );
113 vmathSoaP3Prints( &d_Point3, "set Point3 with floats" );
114 rndflt1 = randfloat();
115 rndflt2 = randfloat();
116 rndflt3 = randfloat();
117 rndflt4 = randfloat();
118 vmathSoaQMakeFromElems( &a_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
119 rndflt3 = randfloat();
120 rndflt4 = randfloat();
121 rndflt5 = randfloat();
122 rndflt6 = randfloat();
123 vmathSoaQMakeFromElems( &b_Quat, rndflt3, rndflt4, rndflt5, rndflt6 );
124 rndflt1 = randfloat();
125 rndflt2 = randfloat();
126 rndflt3 = randfloat();
127 rndflt4 = randfloat();
128 vmathSoaQMakeFromElems( &c_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
129 rndflt1 = randfloat();
130 rndflt2 = randfloat();
131 rndflt3 = randfloat();
132 rndflt4 = randfloat();
133 vmathSoaQMakeFromElems( &d_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
134 vmathSoaQPrints( &a_Quat, "set Quat with floats" );
135 vmathSoaQPrints( &b_Quat, "set Quat with floats" );
136 vmathSoaQPrints( &c_Quat, "set Quat with floats" );
137 vmathSoaQPrints( &d_Quat, "set Quat with floats" );
138 vmathSoaM3MakeFromCols( &a_Matrix3, &a_Vector3, &b_Vector3, &c_Vector3 );
139 vmathSoaM3MakeFromCols( &b_Matrix3, &d_Vector3, &a_Vector3, &b_Vector3 );
140 vmathSoaM3Prints( &a_Matrix3, "set Matrix3 columns" );
141 vmathSoaM3Prints( &b_Matrix3, "set Matrix3 columns" );
142 vmathSoaM4MakeFromCols( &a_Matrix4, &a_Vector4, &b_Vector4, &c_Vector4, &d_Vector4 );
143 vmathSoaM4MakeFromCols( &b_Matrix4, &d_Vector4, &a_Vector4, &b_Vector4, &c_Vector4 );
144 vmathSoaM4Prints( &a_Matrix4, "set Matrix4 columns" );
145 vmathSoaM4Prints( &b_Matrix4, "set Matrix4 columns" );
146 vmathSoaT3MakeFromCols( &a_Transform3, &a_Vector3, &b_Vector3, &c_Vector3, &d_Vector3 );
147 vmathSoaT3MakeFromCols( &b_Transform3, &d_Vector3, &a_Vector3, &b_Vector3, &c_Vector3 );
148 vmathSoaT3Prints( &a_Transform3, "set Transform3 columns" );
149 vmathSoaT3Prints( &b_Transform3, "set Transform3 columns" );
150 vmathSoaM3Add( &tmpM3_0, &a_Matrix3, &b_Matrix3 );
151 vmathSoaM3Prints( &tmpM3_0, "Matrix3 + Matrix3" );
152 vmathSoaM3Sub( &tmpM3_1, &a_Matrix3, &b_Matrix3 );
153 vmathSoaM3Prints( &tmpM3_1, "Matrix3 - Matrix3" );
154 vmathSoaM3Neg( &tmpM3_2, &a_Matrix3 );
155 vmathSoaM3Prints( &tmpM3_2, "-Matrix3" );
156 vmathSoaM3ScalarMul( &tmpM3_3, &a_Matrix3, randfloat() );
157 vmathSoaM3Prints( &tmpM3_3, "Matrix3 * float" );
158 vmathSoaM3ScalarMul( &tmpM3_4, &a_Matrix3, randfloat() );
159 vmathSoaM3Prints( &tmpM3_4, "float * Matrix3" );
160 vmathSoaM3MulV3( &tmpV3_0, &a_Matrix3, &a_Vector3 );
161 vmathSoaV3Prints( &tmpV3_0, "Matrix3 * Vector3" );
162 vmathSoaM3Mul( &tmpM3_5, &a_Matrix3, &b_Matrix3 );
163 vmathSoaM3Prints( &tmpM3_5, "Matrix3 * Matrix3" );
167 Matrix4_methods_test()
169 VmathSoaMatrix3 a_Matrix3, b_Matrix3;
170 VmathSoaMatrix4 a_Matrix4, b_Matrix4;
171 VmathSoaTransform3 a_Transform3, b_Transform3;
172 VmathSoaMatrix4 tmpM4_0, tmpM4_1, tmpM4_2, tmpM4_3, tmpM4_4, tmpM4_5, tmpM4_6;
173 VmathSoaVector3 a_Vector3, b_Vector3, c_Vector3, d_Vector3;
174 VmathSoaVector4 a_Vector4, b_Vector4, c_Vector4, d_Vector4;
175 VmathSoaPoint3 a_Point3, b_Point3, c_Point3, d_Point3;
176 VmathSoaQuat a_Quat, b_Quat, c_Quat, d_Quat;
177 VmathSoaVector4 tmpV4_0, tmpV4_1, tmpV4_2;
178 vec_float4 rndflt1, rndflt2, rndflt3, rndflt4, rndflt5, rndflt6;
179 rndflt1 = randfloat();
180 rndflt2 = randfloat();
181 rndflt3 = randfloat();
182 vmathSoaV3MakeFromElems( &a_Vector3, rndflt1, rndflt2, rndflt3 );
183 rndflt4 = randfloat();
184 rndflt5 = randfloat();
185 rndflt6 = randfloat();
186 vmathSoaV3MakeFromElems( &b_Vector3, rndflt4, rndflt5, rndflt6 );
187 rndflt1 = randfloat();
188 rndflt2 = randfloat();
189 rndflt3 = randfloat();
190 vmathSoaV3MakeFromElems( &c_Vector3, rndflt1, rndflt2, rndflt3 );
191 rndflt1 = randfloat();
192 rndflt2 = randfloat();
193 rndflt3 = randfloat();
194 vmathSoaV3MakeFromElems( &d_Vector3, rndflt1, rndflt2, rndflt3 );
195 vmathSoaV3Prints( &a_Vector3, "set Vector3 with floats" );
196 vmathSoaV3Prints( &b_Vector3, "set Vector3 with floats" );
197 vmathSoaV3Prints( &c_Vector3, "set Vector3 with floats" );
198 vmathSoaV3Prints( &d_Vector3, "set Vector3 with floats" );
199 rndflt1 = randfloat();
200 rndflt2 = randfloat();
201 rndflt3 = randfloat();
202 rndflt4 = randfloat();
203 vmathSoaV4MakeFromElems( &a_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
204 rndflt3 = randfloat();
205 rndflt4 = randfloat();
206 rndflt5 = randfloat();
207 rndflt6 = randfloat();
208 vmathSoaV4MakeFromElems( &b_Vector4, rndflt3, rndflt4, rndflt5, rndflt6 );
209 rndflt1 = randfloat();
210 rndflt2 = randfloat();
211 rndflt3 = randfloat();
212 rndflt4 = randfloat();
213 vmathSoaV4MakeFromElems( &c_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
214 rndflt1 = randfloat();
215 rndflt2 = randfloat();
216 rndflt3 = randfloat();
217 rndflt4 = randfloat();
218 vmathSoaV4MakeFromElems( &d_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
219 vmathSoaV4Prints( &a_Vector4, "set Vector4 with floats" );
220 vmathSoaV4Prints( &b_Vector4, "set Vector4 with floats" );
221 vmathSoaV4Prints( &c_Vector4, "set Vector4 with floats" );
222 vmathSoaV4Prints( &d_Vector4, "set Vector4 with floats" );
223 rndflt1 = randfloat();
224 rndflt2 = randfloat();
225 rndflt3 = randfloat();
226 vmathSoaP3MakeFromElems( &a_Point3, rndflt1, rndflt2, rndflt3 );
227 rndflt4 = randfloat();
228 rndflt5 = randfloat();
229 rndflt6 = randfloat();
230 vmathSoaP3MakeFromElems( &b_Point3, rndflt4, rndflt5, rndflt6 );
231 rndflt1 = randfloat();
232 rndflt2 = randfloat();
233 rndflt3 = randfloat();
234 vmathSoaP3MakeFromElems( &c_Point3, rndflt1, rndflt2, rndflt3 );
235 rndflt1 = randfloat();
236 rndflt2 = randfloat();
237 rndflt3 = randfloat();
238 vmathSoaP3MakeFromElems( &d_Point3, rndflt1, rndflt2, rndflt3 );
239 vmathSoaP3Prints( &a_Point3, "set Point3 with floats" );
240 vmathSoaP3Prints( &b_Point3, "set Point3 with floats" );
241 vmathSoaP3Prints( &c_Point3, "set Point3 with floats" );
242 vmathSoaP3Prints( &d_Point3, "set Point3 with floats" );
243 rndflt1 = randfloat();
244 rndflt2 = randfloat();
245 rndflt3 = randfloat();
246 rndflt4 = randfloat();
247 vmathSoaQMakeFromElems( &a_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
248 rndflt3 = randfloat();
249 rndflt4 = randfloat();
250 rndflt5 = randfloat();
251 rndflt6 = randfloat();
252 vmathSoaQMakeFromElems( &b_Quat, rndflt3, rndflt4, rndflt5, rndflt6 );
253 rndflt1 = randfloat();
254 rndflt2 = randfloat();
255 rndflt3 = randfloat();
256 rndflt4 = randfloat();
257 vmathSoaQMakeFromElems( &c_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
258 rndflt1 = randfloat();
259 rndflt2 = randfloat();
260 rndflt3 = randfloat();
261 rndflt4 = randfloat();
262 vmathSoaQMakeFromElems( &d_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
263 vmathSoaQPrints( &a_Quat, "set Quat with floats" );
264 vmathSoaQPrints( &b_Quat, "set Quat with floats" );
265 vmathSoaQPrints( &c_Quat, "set Quat with floats" );
266 vmathSoaQPrints( &d_Quat, "set Quat with floats" );
267 vmathSoaM3MakeFromCols( &a_Matrix3, &a_Vector3, &b_Vector3, &c_Vector3 );
268 vmathSoaM3MakeFromCols( &b_Matrix3, &d_Vector3, &a_Vector3, &b_Vector3 );
269 vmathSoaM3Prints( &a_Matrix3, "set Matrix3 columns" );
270 vmathSoaM3Prints( &b_Matrix3, "set Matrix3 columns" );
271 vmathSoaM4MakeFromCols( &a_Matrix4, &a_Vector4, &b_Vector4, &c_Vector4, &d_Vector4 );
272 vmathSoaM4MakeFromCols( &b_Matrix4, &d_Vector4, &a_Vector4, &b_Vector4, &c_Vector4 );
273 vmathSoaM4Prints( &a_Matrix4, "set Matrix4 columns" );
274 vmathSoaM4Prints( &b_Matrix4, "set Matrix4 columns" );
275 vmathSoaT3MakeFromCols( &a_Transform3, &a_Vector3, &b_Vector3, &c_Vector3, &d_Vector3 );
276 vmathSoaT3MakeFromCols( &b_Transform3, &d_Vector3, &a_Vector3, &b_Vector3, &c_Vector3 );
277 vmathSoaT3Prints( &a_Transform3, "set Transform3 columns" );
278 vmathSoaT3Prints( &b_Transform3, "set Transform3 columns" );
279 vmathSoaM4Add( &tmpM4_0, &a_Matrix4, &b_Matrix4 );
280 vmathSoaM4Prints( &tmpM4_0, "Matrix4 + Matrix4" );
281 vmathSoaM4Sub( &tmpM4_1, &a_Matrix4, &b_Matrix4 );
282 vmathSoaM4Prints( &tmpM4_1, "Matrix4 - Matrix4" );
283 vmathSoaM4Neg( &tmpM4_2, &a_Matrix4 );
284 vmathSoaM4Prints( &tmpM4_2, "-Matrix4" );
285 vmathSoaM4ScalarMul( &tmpM4_3, &a_Matrix4, randfloat() );
286 vmathSoaM4Prints( &tmpM4_3, "Matrix4 * float" );
287 vmathSoaM4ScalarMul( &tmpM4_4, &a_Matrix4, randfloat() );
288 vmathSoaM4Prints( &tmpM4_4, "float * Matrix4" );
289 vmathSoaM4MulV4( &tmpV4_0, &a_Matrix4, &a_Vector4 );
290 vmathSoaV4Prints( &tmpV4_0, "Matrix4 * Vector4" );
291 vmathSoaM4MulV3( &tmpV4_1, &a_Matrix4, &a_Vector3 );
292 vmathSoaV4Prints( &tmpV4_1, "Matrix4 * Vector3" );
293 vmathSoaM4MulP3( &tmpV4_2, &a_Matrix4, &a_Point3 );
294 vmathSoaV4Prints( &tmpV4_2, "Matrix4 * Point3" );
295 vmathSoaM4Mul( &tmpM4_5, &a_Matrix4, &b_Matrix4 );
296 vmathSoaM4Prints( &tmpM4_5, "Matrix4 * Matrix4" );
297 vmathSoaM4MulT3( &tmpM4_6, &a_Matrix4, &b_Transform3 );
298 vmathSoaM4Prints( &tmpM4_6, "Matrix4 * Transform3" );
302 Transform3_methods_test()
304 VmathSoaMatrix3 a_Matrix3, b_Matrix3;
305 VmathSoaMatrix4 a_Matrix4, b_Matrix4;
306 VmathSoaTransform3 a_Transform3, b_Transform3, tmpT3_0;
307 VmathSoaVector3 a_Vector3, b_Vector3, c_Vector3, d_Vector3;
308 VmathSoaVector4 a_Vector4, b_Vector4, c_Vector4, d_Vector4;
309 VmathSoaPoint3 a_Point3, b_Point3, c_Point3, d_Point3;
310 VmathSoaQuat a_Quat, b_Quat, c_Quat, d_Quat;
311 VmathSoaVector3 tmpV3_0;
312 VmathSoaPoint3 tmpP3_0;
313 vec_float4 rndflt1, rndflt2, rndflt3, rndflt4, rndflt5, rndflt6;
314 rndflt1 = randfloat();
315 rndflt2 = randfloat();
316 rndflt3 = randfloat();
317 vmathSoaV3MakeFromElems( &a_Vector3, rndflt1, rndflt2, rndflt3 );
318 rndflt4 = randfloat();
319 rndflt5 = randfloat();
320 rndflt6 = randfloat();
321 vmathSoaV3MakeFromElems( &b_Vector3, rndflt4, rndflt5, rndflt6 );
322 rndflt1 = randfloat();
323 rndflt2 = randfloat();
324 rndflt3 = randfloat();
325 vmathSoaV3MakeFromElems( &c_Vector3, rndflt1, rndflt2, rndflt3 );
326 rndflt1 = randfloat();
327 rndflt2 = randfloat();
328 rndflt3 = randfloat();
329 vmathSoaV3MakeFromElems( &d_Vector3, rndflt1, rndflt2, rndflt3 );
330 vmathSoaV3Prints( &a_Vector3, "set Vector3 with floats" );
331 vmathSoaV3Prints( &b_Vector3, "set Vector3 with floats" );
332 vmathSoaV3Prints( &c_Vector3, "set Vector3 with floats" );
333 vmathSoaV3Prints( &d_Vector3, "set Vector3 with floats" );
334 rndflt1 = randfloat();
335 rndflt2 = randfloat();
336 rndflt3 = randfloat();
337 rndflt4 = randfloat();
338 vmathSoaV4MakeFromElems( &a_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
339 rndflt3 = randfloat();
340 rndflt4 = randfloat();
341 rndflt5 = randfloat();
342 rndflt6 = randfloat();
343 vmathSoaV4MakeFromElems( &b_Vector4, rndflt3, rndflt4, rndflt5, rndflt6 );
344 rndflt1 = randfloat();
345 rndflt2 = randfloat();
346 rndflt3 = randfloat();
347 rndflt4 = randfloat();
348 vmathSoaV4MakeFromElems( &c_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
349 rndflt1 = randfloat();
350 rndflt2 = randfloat();
351 rndflt3 = randfloat();
352 rndflt4 = randfloat();
353 vmathSoaV4MakeFromElems( &d_Vector4, rndflt1, rndflt2, rndflt3, rndflt4 );
354 vmathSoaV4Prints( &a_Vector4, "set Vector4 with floats" );
355 vmathSoaV4Prints( &b_Vector4, "set Vector4 with floats" );
356 vmathSoaV4Prints( &c_Vector4, "set Vector4 with floats" );
357 vmathSoaV4Prints( &d_Vector4, "set Vector4 with floats" );
358 rndflt1 = randfloat();
359 rndflt2 = randfloat();
360 rndflt3 = randfloat();
361 vmathSoaP3MakeFromElems( &a_Point3, rndflt1, rndflt2, rndflt3 );
362 rndflt4 = randfloat();
363 rndflt5 = randfloat();
364 rndflt6 = randfloat();
365 vmathSoaP3MakeFromElems( &b_Point3, rndflt4, rndflt5, rndflt6 );
366 rndflt1 = randfloat();
367 rndflt2 = randfloat();
368 rndflt3 = randfloat();
369 vmathSoaP3MakeFromElems( &c_Point3, rndflt1, rndflt2, rndflt3 );
370 rndflt1 = randfloat();
371 rndflt2 = randfloat();
372 rndflt3 = randfloat();
373 vmathSoaP3MakeFromElems( &d_Point3, rndflt1, rndflt2, rndflt3 );
374 vmathSoaP3Prints( &a_Point3, "set Point3 with floats" );
375 vmathSoaP3Prints( &b_Point3, "set Point3 with floats" );
376 vmathSoaP3Prints( &c_Point3, "set Point3 with floats" );
377 vmathSoaP3Prints( &d_Point3, "set Point3 with floats" );
378 rndflt1 = randfloat();
379 rndflt2 = randfloat();
380 rndflt3 = randfloat();
381 rndflt4 = randfloat();
382 vmathSoaQMakeFromElems( &a_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
383 rndflt3 = randfloat();
384 rndflt4 = randfloat();
385 rndflt5 = randfloat();
386 rndflt6 = randfloat();
387 vmathSoaQMakeFromElems( &b_Quat, rndflt3, rndflt4, rndflt5, rndflt6 );
388 rndflt1 = randfloat();
389 rndflt2 = randfloat();
390 rndflt3 = randfloat();
391 rndflt4 = randfloat();
392 vmathSoaQMakeFromElems( &c_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
393 rndflt1 = randfloat();
394 rndflt2 = randfloat();
395 rndflt3 = randfloat();
396 rndflt4 = randfloat();
397 vmathSoaQMakeFromElems( &d_Quat, rndflt1, rndflt2, rndflt3, rndflt4 );
398 vmathSoaQPrints( &a_Quat, "set Quat with floats" );
399 vmathSoaQPrints( &b_Quat, "set Quat with floats" );
400 vmathSoaQPrints( &c_Quat, "set Quat with floats" );
401 vmathSoaQPrints( &d_Quat, "set Quat with floats" );
402 vmathSoaM3MakeFromCols( &a_Matrix3, &a_Vector3, &b_Vector3, &c_Vector3 );
403 vmathSoaM3MakeFromCols( &b_Matrix3, &d_Vector3, &a_Vector3, &b_Vector3 );
404 vmathSoaM3Prints( &a_Matrix3, "set Matrix3 columns" );
405 vmathSoaM3Prints( &b_Matrix3, "set Matrix3 columns" );
406 vmathSoaM4MakeFromCols( &a_Matrix4, &a_Vector4, &b_Vector4, &c_Vector4, &d_Vector4 );
407 vmathSoaM4MakeFromCols( &b_Matrix4, &d_Vector4, &a_Vector4, &b_Vector4, &c_Vector4 );
408 vmathSoaM4Prints( &a_Matrix4, "set Matrix4 columns" );
409 vmathSoaM4Prints( &b_Matrix4, "set Matrix4 columns" );
410 vmathSoaT3MakeFromCols( &a_Transform3, &a_Vector3, &b_Vector3, &c_Vector3, &d_Vector3 );
411 vmathSoaT3MakeFromCols( &b_Transform3, &d_Vector3, &a_Vector3, &b_Vector3, &c_Vector3 );
412 vmathSoaT3Prints( &a_Transform3, "set Transform3 columns" );
413 vmathSoaT3Prints( &b_Transform3, "set Transform3 columns" );
414 vmathSoaT3MulV3( &tmpV3_0, &a_Transform3, &a_Vector3 );
415 vmathSoaV3Prints( &tmpV3_0, "Transform3 * Vector3" );
416 vmathSoaT3MulP3( &tmpP3_0, &a_Transform3, &a_Point3 );
417 vmathSoaP3Prints( &tmpP3_0, "Transform3 * Point3" );
418 vmathSoaT3Mul( &tmpT3_0, &a_Transform3, &b_Transform3 );
419 vmathSoaT3Prints( &tmpT3_0, "Transform3 * Transform3" );
425 printf("\n __begin__ \n");
426 for ( i = 0; i < 2; i++ ) {
427 Matrix3_methods_test();
428 Matrix4_methods_test();
429 Transform3_methods_test();
431 printf("\n __end__ \n");