|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #include <liboil/liboil.h> |
|
20 #include <liboil/liboilfunction.h> |
|
21 #include <stdio.h> |
|
22 #include <stdlib.h> |
|
23 |
|
24 #include <liboil/globals.h> |
|
25 |
|
26 #define LOG_FILE "c:\\logs\\testsuite_wavelet_log.txt" |
|
27 #include "std_log_result.h" |
|
28 #define LOG_FILENAME_LINE __FILE__, __LINE__ |
|
29 |
|
30 #define SIZE 20 |
|
31 |
|
32 void create_xml(int result) |
|
33 { |
|
34 if(result) |
|
35 assert_failed = 1; |
|
36 |
|
37 testResultXml("testsuite_wavelet"); |
|
38 close_log_file(); |
|
39 } |
|
40 |
|
41 void test_oil_add2_rshift_add_s16() |
|
42 { |
|
43 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, int n |
|
44 int16_t input1[SIZE]; |
|
45 int16_t input2[SIZE]; |
|
46 int16_t input3[SIZE]; |
|
47 int16_t input4[2]; |
|
48 int16_t output[SIZE]; |
|
49 int16_t linux_output[] = {0,1,2,3,5,6,7,9,10,11,13,14,15,17,18,19,21,22,23,24}; |
|
50 int i = 0; |
|
51 |
|
52 for(i=0; i<SIZE; i++) |
|
53 { |
|
54 input1[i] = i; |
|
55 input2[i] = i*2; |
|
56 input3[i] = i*3; |
|
57 if(i < 2) |
|
58 input4[i] = i*4; |
|
59 } |
|
60 |
|
61 oil_add2_rshift_add_s16(output, input1, input2, input3, input4, SIZE); |
|
62 |
|
63 for(i = 0; i < SIZE; i++) |
|
64 { |
|
65 if(output[i] != linux_output[i]) |
|
66 { |
|
67 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
68 assert_failed = 1; |
|
69 } |
|
70 } |
|
71 } |
|
72 |
|
73 void test_oil_add2_rshift_sub_s16() |
|
74 { |
|
75 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, int n |
|
76 int16_t input1[SIZE]; |
|
77 int16_t input2[SIZE]; |
|
78 int16_t input3[SIZE]; |
|
79 int16_t input4[2]; |
|
80 int16_t output[SIZE]; |
|
81 int16_t linux_output[] = {0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,11,12,13,14}; |
|
82 int i = 0; |
|
83 |
|
84 for(i=0; i<SIZE; i++) |
|
85 { |
|
86 input1[i] = i; |
|
87 input2[i] = i*2; |
|
88 input3[i] = i*3; |
|
89 if(i < 2) |
|
90 input4[i] = i*4; |
|
91 } |
|
92 |
|
93 oil_add2_rshift_sub_s16(output, input1, input2, input3, input4, SIZE); |
|
94 |
|
95 for(i = 0; i < SIZE; i++) |
|
96 { |
|
97 if(output[i] != linux_output[i]) |
|
98 { |
|
99 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
100 assert_failed = 1; |
|
101 } |
|
102 } |
|
103 } |
|
104 |
|
105 void test_oil_add_const_rshift_s16() |
|
106 { |
|
107 //int16_t * d1, const int16_t * s1, const int16_t * s2_2, int n |
|
108 int16_t input1[SIZE]; |
|
109 int16_t input2[2]; |
|
110 int16_t output[SIZE]; |
|
111 int16_t linux_output[] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4}; |
|
112 int i = 0; |
|
113 |
|
114 for(i=0; i<SIZE; i++) |
|
115 { |
|
116 input1[i] = i; |
|
117 if(i < 2) |
|
118 input2[i] = i*2; |
|
119 } |
|
120 |
|
121 oil_add_const_rshift_s16(output, input1, input2, SIZE); |
|
122 |
|
123 for(i = 0; i < SIZE; i++) |
|
124 { |
|
125 if(output[i] != linux_output[i]) |
|
126 { |
|
127 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
128 assert_failed = 1; |
|
129 } |
|
130 } |
|
131 } |
|
132 |
|
133 void test_oil_avg2_12xn_u8() |
|
134 { |
|
135 //uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, int n |
|
136 uint8_t input1[SIZE*12]; |
|
137 uint8_t input2[SIZE*12]; |
|
138 uint8_t output[SIZE*12]; |
|
139 int16_t linux_output[] = {0,2,6,7,11,13,17,18,22,24,28,29,33,35,39,40,44,46,50,51,55,57,61,62,66,68,72,73,77,79,83,84,88,90,94,95,99,101,105,106,108,109,111,112,114,115,117,118,120,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
140 int i = 0; |
|
141 |
|
142 for(i=0; i<SIZE*12; i++) |
|
143 { |
|
144 output[i] = 0; |
|
145 input1[i] = i; |
|
146 input2[i] = i*2; |
|
147 } |
|
148 |
|
149 oil_avg2_12xn_u8(output, 2, input1, 3, input2, 4, SIZE); |
|
150 |
|
151 for(i = 0; i < SIZE*12; i++) |
|
152 { |
|
153 if(output[i] != linux_output[i]) |
|
154 { |
|
155 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
156 assert_failed = 1; |
|
157 } |
|
158 } |
|
159 } |
|
160 |
|
161 void test_oil_avg2_16xn_u8() |
|
162 { |
|
163 //uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, int n |
|
164 uint8_t input1[SIZE*16]; |
|
165 uint8_t input2[SIZE*16]; |
|
166 uint8_t output[SIZE*16]; |
|
167 int16_t linux_output[] = {0,2,6,7,11,13,17,18,22,24,28,29,33,35,39,40,44,46,50,51,55,57,61,62,66,68,72,73,77,79,83,84,88,90,94,95,99,101,105,106,108,109,111,112,114,115,117,118,120,121,123,124,126,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
168 int i = 0; |
|
169 |
|
170 for(i=0; i<SIZE*16; i++) |
|
171 { |
|
172 output[i] = 0; |
|
173 input1[i] = i; |
|
174 input2[i] = i*2; |
|
175 } |
|
176 |
|
177 oil_avg2_16xn_u8(output, 2, input1, 3, input2, 4, SIZE); |
|
178 |
|
179 for(i = 0; i < SIZE*16; i++) |
|
180 { |
|
181 if(output[i] != linux_output[i]) |
|
182 { |
|
183 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
184 assert_failed = 1; |
|
185 } |
|
186 } |
|
187 } |
|
188 |
|
189 void test_oil_avg2_8xn_u8() |
|
190 { |
|
191 //uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, int n |
|
192 uint8_t input1[SIZE*8]; |
|
193 uint8_t input2[SIZE*8]; |
|
194 uint8_t output[SIZE*8]; |
|
195 int16_t linux_output[] = {0,2,6,7,11,13,17,18,22,24,28,29,33,35,39,40,44,46,50,51,55,57,61,62,66,68,72,73,77,79,83,84,88,90,94,95,99,101,105,106,108,109,111,112,114,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
196 int i = 0; |
|
197 |
|
198 for(i=0; i<SIZE*8; i++) |
|
199 { |
|
200 output[i] = 0; |
|
201 input1[i] = i; |
|
202 input2[i] = i*2; |
|
203 } |
|
204 |
|
205 oil_avg2_8xn_u8(output, 2, input1, 3, input2, 4, SIZE); |
|
206 |
|
207 for(i = 0; i < SIZE*8; i++) |
|
208 { |
|
209 if(output[i] != linux_output[i]) |
|
210 { |
|
211 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
212 assert_failed = 1; |
|
213 } |
|
214 } |
|
215 } |
|
216 |
|
217 void test_oil_combine2_12xn_u8() |
|
218 { |
|
219 //uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, const int16_t * s3_4, int n |
|
220 uint8_t input1[SIZE*12]; |
|
221 uint8_t input2[SIZE*12]; |
|
222 int16_t input3[4]; |
|
223 uint8_t output[SIZE*12]; |
|
224 int16_t linux_output[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
225 int i = 0; |
|
226 |
|
227 for(i=0; i<SIZE*12; i++) |
|
228 { |
|
229 output[i] = 0; |
|
230 input1[i] = i; |
|
231 input2[i] = i*2; |
|
232 |
|
233 if(i < 4) |
|
234 input3[i] = i*3; |
|
235 } |
|
236 |
|
237 oil_combine2_12xn_u8(output, 2, input1, 3, input2, 4, input3, SIZE); |
|
238 |
|
239 for(i = 0; i < SIZE*12; i++) |
|
240 { |
|
241 if(output[i] != linux_output[i]) |
|
242 { |
|
243 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
244 assert_failed = 1; |
|
245 } |
|
246 } |
|
247 } |
|
248 |
|
249 void test_oil_combine2_16xn_u8() |
|
250 { |
|
251 //uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, const int16_t * s3_4, int n |
|
252 uint8_t input1[SIZE*16]; |
|
253 uint8_t input2[SIZE*16]; |
|
254 int16_t input3[4]; |
|
255 uint8_t output[SIZE*16]; |
|
256 int16_t linux_output[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; |
|
257 int i = 0; |
|
258 |
|
259 for(i=0; i<SIZE*16; i++) |
|
260 { |
|
261 output[i] = 1; |
|
262 input1[i] = i; |
|
263 input2[i] = i*2; |
|
264 |
|
265 if(i < 4) |
|
266 input3[i] = i*3; |
|
267 } |
|
268 |
|
269 oil_combine2_16xn_u8(output, 2, input1, 3, input2, 4, input3, SIZE); |
|
270 |
|
271 for(i = 0; i < SIZE*16; i++) |
|
272 { |
|
273 if(output[i] != linux_output[i]) |
|
274 { |
|
275 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
276 assert_failed = 1; |
|
277 } |
|
278 } |
|
279 } |
|
280 |
|
281 void test_oil_combine2_8xn_u8() |
|
282 { |
|
283 //uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, const int16_t * s3_4, int n |
|
284 uint8_t input1[SIZE*8]; |
|
285 uint8_t input2[SIZE*8]; |
|
286 int16_t input3[4]; |
|
287 uint8_t output[SIZE*8]; |
|
288 int16_t linux_output[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}; |
|
289 int i = 0; |
|
290 |
|
291 for(i=0; i<SIZE*8; i++) |
|
292 { |
|
293 output[i] = 2; |
|
294 input1[i] = i; |
|
295 input2[i] = i*2; |
|
296 |
|
297 if(i < 4) |
|
298 input3[i] = i*3; |
|
299 } |
|
300 |
|
301 oil_combine2_8xn_u8(output, 2, input1, 3, input2, 4, input3, SIZE); |
|
302 |
|
303 for(i = 0; i < SIZE*8; i++) |
|
304 { |
|
305 if(output[i] != linux_output[i]) |
|
306 { |
|
307 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
308 assert_failed = 1; |
|
309 } |
|
310 } |
|
311 } |
|
312 |
|
313 void test_oil_combine4_12xn_u8() |
|
314 { |
|
315 //uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, const uint8_t * s3_12xn, int ss3, const uint8_t * s4_12xn, int ss4, const int16_t * s5_6, int n |
|
316 uint8_t input1[SIZE*12]; |
|
317 uint8_t input2[SIZE*12]; |
|
318 uint8_t input3[SIZE*12]; |
|
319 uint8_t input4[SIZE*12]; |
|
320 int16_t input5[6]; |
|
321 uint8_t output[SIZE*12]; |
|
322 uint8_t expected_output[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; |
|
323 |
|
324 int i = 0; |
|
325 |
|
326 for(i=0; i<SIZE*12; i++) |
|
327 { |
|
328 output[i] = 1; |
|
329 input1[i] = i; |
|
330 input2[i] = i+2; |
|
331 input3[i] = i+3; |
|
332 input4[i] = i+4; |
|
333 |
|
334 if(i < 6) |
|
335 input5[i] = i+5; |
|
336 } |
|
337 |
|
338 oil_combine4_12xn_u8(output, 1, input1, 1, input2, 2, input3, 3, input4, 4, input5, SIZE); |
|
339 |
|
340 for(i = 0; i < SIZE*12; i++) |
|
341 { |
|
342 if(output[i] != expected_output[i]) |
|
343 { |
|
344 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]); |
|
345 assert_failed = 1; |
|
346 } |
|
347 } |
|
348 } |
|
349 |
|
350 void test_oil_combine4_16xn_u8() |
|
351 { |
|
352 //uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, const uint8_t * s3_16xn, int ss3, const uint8_t * s4_16xn, int ss4, const int16_t * s5_6, int n |
|
353 uint8_t input1[SIZE*16]; |
|
354 uint8_t input2[SIZE*16]; |
|
355 uint8_t input3[SIZE*16]; |
|
356 uint8_t input4[SIZE*16]; |
|
357 int16_t input5[6]; |
|
358 uint8_t output[SIZE*16]; |
|
359 uint8_t expected_output[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; |
|
360 int i = 0; |
|
361 |
|
362 for(i=0; i<SIZE*16; i++) |
|
363 { |
|
364 output[i] = 1; |
|
365 input1[i] = i; |
|
366 input2[i] = i+2; |
|
367 input3[i] = i+3; |
|
368 input4[i] = i+4; |
|
369 |
|
370 if(i < 6) |
|
371 input5[i] = i+5; |
|
372 } |
|
373 |
|
374 oil_combine4_16xn_u8(output, 1, input1, 1, input2, 2, input3, 3, input4, 4, input5, SIZE); |
|
375 |
|
376 for(i = 0; i < SIZE*16; i++) |
|
377 { |
|
378 if(output[i] != expected_output[i]) |
|
379 { |
|
380 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]); |
|
381 assert_failed = 1; |
|
382 } |
|
383 } |
|
384 } |
|
385 |
|
386 void test_oil_combine4_8xn_u8() |
|
387 { |
|
388 //uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, const uint8_t * s3_8xn, int ss3, const uint8_t * s4_8xn, int ss4, const int16_t * s5_6, int n |
|
389 uint8_t input1[SIZE*8]; |
|
390 uint8_t input2[SIZE*8]; |
|
391 uint8_t input3[SIZE*8]; |
|
392 uint8_t input4[SIZE*8]; |
|
393 int16_t input5[6]; |
|
394 uint8_t output[SIZE*8]; |
|
395 uint8_t expected_output[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; |
|
396 int i = 0; |
|
397 |
|
398 for(i=0; i<SIZE*8; i++) |
|
399 { |
|
400 output[i] = 1; |
|
401 input1[i] = i; |
|
402 input2[i] = i+2; |
|
403 input3[i] = i+3; |
|
404 input4[i] = i+4; |
|
405 |
|
406 if(i < 6) |
|
407 input5[i] = i+5; |
|
408 } |
|
409 |
|
410 oil_combine4_8xn_u8(output, 1, input1, 1, input2, 2, input3, 3, input4, 4, input5, SIZE); |
|
411 |
|
412 for(i = 0; i < SIZE*8; i++) |
|
413 { |
|
414 if(output[i] != expected_output[i]) |
|
415 { |
|
416 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]); |
|
417 assert_failed = 1; |
|
418 } |
|
419 } |
|
420 } |
|
421 |
|
422 void test_oil_deinterleave() |
|
423 { |
|
424 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
425 int16_t input[SIZE*2]; |
|
426 int16_t output[SIZE*2]; |
|
427 int16_t linux_output[] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39}; |
|
428 int i = 0; |
|
429 |
|
430 for(i=0; i<SIZE*2; i++) |
|
431 { |
|
432 output[i] = 0; |
|
433 input[i] = i; |
|
434 } |
|
435 |
|
436 oil_deinterleave(output, input, SIZE); |
|
437 |
|
438 for(i = 0; i < SIZE*2; i++) |
|
439 { |
|
440 if(output[i] != linux_output[i]) |
|
441 { |
|
442 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
443 assert_failed = 1; |
|
444 } |
|
445 } |
|
446 } |
|
447 |
|
448 void test_oil_deinterleave2_s16() |
|
449 { |
|
450 //int16_t * d1_n, int16_t * d2_n, const int16_t * s_2xn, int n |
|
451 int16_t input[SIZE*2]; |
|
452 int16_t output1[SIZE]; |
|
453 int16_t output2[SIZE]; |
|
454 int16_t linux_output1[] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38}; |
|
455 int16_t linux_output2[] = {1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39}; |
|
456 int i = 0; |
|
457 |
|
458 for(i=0; i<SIZE*2; i++) |
|
459 { |
|
460 if(i < SIZE) |
|
461 { |
|
462 output1[i] = i+1; |
|
463 output2[i] = i+2; |
|
464 } |
|
465 input[i] = i; |
|
466 } |
|
467 |
|
468 oil_deinterleave2_s16(output1, output2, input, SIZE); |
|
469 |
|
470 for(i = 0; i < SIZE; i++) |
|
471 { |
|
472 if(output1[i] != linux_output1[i]) |
|
473 { |
|
474 std_log(LOG_FILENAME_LINE, "output1[%d]: expected value - %d, actual value - %d", i,linux_output1[i],output1[i]); |
|
475 assert_failed = 1; |
|
476 } |
|
477 |
|
478 if(output2[i] != linux_output2[i]) |
|
479 { |
|
480 std_log(LOG_FILENAME_LINE, "output2[%d]: expected value - %d, actual value - %d", i,linux_output2[i],output2[i]); |
|
481 assert_failed = 1; |
|
482 } |
|
483 } |
|
484 } |
|
485 |
|
486 void test_oil_interleave() |
|
487 { |
|
488 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
489 int16_t input[SIZE*2]; |
|
490 int16_t output[SIZE*2]; |
|
491 int16_t linux_output[] = {0,20,1,21,2,22,3,23,4,24,5,25,6,26,7,27,8,28,9,29,10,30,11,31,12,32,13,33,14,34,15,35,16,36,17,37,18,38,19,39}; |
|
492 int i = 0; |
|
493 |
|
494 for(i=0; i<SIZE*2; i++) |
|
495 { |
|
496 output[i] = 0; |
|
497 input[i] = i; |
|
498 } |
|
499 |
|
500 oil_interleave(output, input, SIZE); |
|
501 |
|
502 for(i = 0; i < SIZE*2; i++) |
|
503 { |
|
504 if(output[i] != linux_output[i]) |
|
505 { |
|
506 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
507 assert_failed = 1; |
|
508 } |
|
509 } |
|
510 } |
|
511 |
|
512 void test_oil_interleave2_s16() |
|
513 { |
|
514 //int16_t * d_2xn, const int16_t * s1_n, const int16_t * s2_n, int n |
|
515 int16_t input1[SIZE]; |
|
516 int16_t input2[SIZE]; |
|
517 int16_t output[SIZE*2]; |
|
518 int16_t linux_output[] = {1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11}; |
|
519 int i = 0; |
|
520 |
|
521 for(i=0; i<SIZE*2; i++) |
|
522 { |
|
523 if(i < SIZE) |
|
524 { |
|
525 input1[i] = i+1; |
|
526 input2[i] = i+2; |
|
527 } |
|
528 output[i] = 0; |
|
529 } |
|
530 |
|
531 oil_interleave2_s16(output, input1, input2, SIZE); |
|
532 |
|
533 for(i = 0; i < SIZE; i++) |
|
534 { |
|
535 if(output[i] != linux_output[i]) |
|
536 { |
|
537 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
538 assert_failed = 1; |
|
539 } |
|
540 } |
|
541 } |
|
542 |
|
543 void test_oil_lift_add_135() |
|
544 { |
|
545 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4, const int16_t * s5, int n |
|
546 int16_t output[SIZE]; |
|
547 int16_t input1[SIZE]; |
|
548 int16_t input2[SIZE]; |
|
549 int16_t input3[SIZE]; |
|
550 int16_t input4[SIZE]; |
|
551 int16_t input5[SIZE]; |
|
552 int16_t linux_output[] = {15,5,7,10,12,14,16,18,20,22,24,26,28,30,32,34,36,39,41,32}; |
|
553 int i = 0; |
|
554 |
|
555 for(i=0; i<SIZE; i++) |
|
556 { |
|
557 input1[i] = i+1; |
|
558 input2[i] = i+2; |
|
559 input3[i] = i+3; |
|
560 input4[i] = i+4; |
|
561 input5[i] = i+5; |
|
562 |
|
563 output[i] = 0; |
|
564 } |
|
565 |
|
566 oil_lift_add_135(output, input1, input2, input3, input4, input5, SIZE); |
|
567 |
|
568 for(i = 0; i < SIZE; i++) |
|
569 { |
|
570 if(output[i] != linux_output[i]) |
|
571 { |
|
572 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
573 assert_failed = 1; |
|
574 } |
|
575 } |
|
576 } |
|
577 |
|
578 void test_oil_lift_add_mult_shift12() |
|
579 { |
|
580 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_1, int n |
|
581 int16_t output[SIZE]; |
|
582 int16_t input1[SIZE]; |
|
583 int16_t input2[SIZE]; |
|
584 int16_t input3[SIZE]; |
|
585 int16_t input4[1]; |
|
586 int16_t linux_output[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; |
|
587 int i = 0; |
|
588 |
|
589 input4[0] = 4; |
|
590 for(i=0; i<SIZE; i++) |
|
591 { |
|
592 input1[i] = i+1; |
|
593 input2[i] = i+2; |
|
594 input3[i] = i+3; |
|
595 |
|
596 output[i] = 0; |
|
597 } |
|
598 |
|
599 oil_lift_add_mult_shift12(output, input1, input2, input3, input4, SIZE); |
|
600 |
|
601 for(i = 0; i < SIZE; i++) |
|
602 { |
|
603 if(output[i] != linux_output[i]) |
|
604 { |
|
605 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
606 assert_failed = 1; |
|
607 } |
|
608 } |
|
609 } |
|
610 |
|
611 void test_oil_lift_add_shift1() |
|
612 { |
|
613 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n |
|
614 int16_t output[SIZE]; |
|
615 int16_t input1[SIZE]; |
|
616 int16_t input2[SIZE]; |
|
617 int16_t input3[SIZE]; |
|
618 int16_t linux_output[] = {3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41}; |
|
619 int i = 0; |
|
620 |
|
621 for(i=0; i<SIZE; i++) |
|
622 { |
|
623 input1[i] = i+1; |
|
624 input2[i] = i+2; |
|
625 input3[i] = i+3; |
|
626 |
|
627 output[i] = 0; |
|
628 } |
|
629 |
|
630 oil_lift_add_shift1(output, input1, input2, input3, SIZE); |
|
631 |
|
632 for(i = 0; i < SIZE; i++) |
|
633 { |
|
634 if(output[i] != linux_output[i]) |
|
635 { |
|
636 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
637 assert_failed = 1; |
|
638 } |
|
639 } |
|
640 } |
|
641 |
|
642 void test_oil_lift_add_shift2() |
|
643 { |
|
644 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n |
|
645 int16_t output[SIZE]; |
|
646 int16_t input1[SIZE]; |
|
647 int16_t input2[SIZE]; |
|
648 int16_t input3[SIZE]; |
|
649 int16_t linux_output[] = {2,3,5,6,8,9,11,12,14,15,17,18,20,21,23,24,26,27,29,30}; |
|
650 int i = 0; |
|
651 |
|
652 for(i=0; i<SIZE; i++) |
|
653 { |
|
654 input1[i] = i+1; |
|
655 input2[i] = i+2; |
|
656 input3[i] = i+3; |
|
657 |
|
658 output[i] = 0; |
|
659 } |
|
660 |
|
661 oil_lift_add_shift2(output, input1, input2, input3, SIZE); |
|
662 |
|
663 for(i = 0; i < SIZE; i++) |
|
664 { |
|
665 if(output[i] != linux_output[i]) |
|
666 { |
|
667 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
668 assert_failed = 1; |
|
669 } |
|
670 } |
|
671 } |
|
672 |
|
673 void test_oil_lift_sub_135() |
|
674 { |
|
675 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4, const int16_t * s5, int n |
|
676 int16_t output[SIZE]; |
|
677 int16_t input1[SIZE]; |
|
678 int16_t input2[SIZE]; |
|
679 int16_t input3[SIZE]; |
|
680 int16_t input4[SIZE]; |
|
681 int16_t input5[SIZE]; |
|
682 int16_t linux_output[] = {-13,-1,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-3,-3,8}; |
|
683 int i = 0; |
|
684 |
|
685 for(i=0; i<SIZE; i++) |
|
686 { |
|
687 input1[i] = i+1; |
|
688 input2[i] = i+2; |
|
689 input3[i] = i+3; |
|
690 input4[i] = i+4; |
|
691 input5[i] = i+5; |
|
692 |
|
693 output[i] = 0; |
|
694 } |
|
695 |
|
696 oil_lift_sub_135(output, input1, input2, input3, input4, input5, SIZE); |
|
697 |
|
698 for(i = 0; i < SIZE; i++) |
|
699 { |
|
700 if(output[i] != linux_output[i]) |
|
701 { |
|
702 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
703 assert_failed = 1; |
|
704 } |
|
705 } |
|
706 } |
|
707 |
|
708 void test_oil_lift_sub_mult_shift12() |
|
709 { |
|
710 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_1, int n |
|
711 int16_t output[SIZE]; |
|
712 int16_t input1[SIZE]; |
|
713 int16_t input2[SIZE]; |
|
714 int16_t input3[SIZE]; |
|
715 int16_t input4[1]; |
|
716 int16_t linux_output[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; |
|
717 int i = 0; |
|
718 |
|
719 input4[0] = 4; |
|
720 for(i=0; i<SIZE; i++) |
|
721 { |
|
722 input1[i] = i+1; |
|
723 input2[i] = i+2; |
|
724 input3[i] = i+3; |
|
725 |
|
726 output[i] = 0; |
|
727 } |
|
728 |
|
729 oil_lift_sub_mult_shift12(output, input1, input2, input3, input4, SIZE); |
|
730 |
|
731 for(i = 0; i < SIZE; i++) |
|
732 { |
|
733 if(output[i] != linux_output[i]) |
|
734 { |
|
735 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
736 assert_failed = 1; |
|
737 } |
|
738 } |
|
739 } |
|
740 |
|
741 void test_oil_lift_sub_shift1() |
|
742 { |
|
743 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n |
|
744 int16_t output[SIZE]; |
|
745 int16_t input1[SIZE]; |
|
746 int16_t input2[SIZE]; |
|
747 int16_t input3[SIZE]; |
|
748 int16_t linux_output[] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; |
|
749 int i = 0; |
|
750 |
|
751 for(i=0; i<SIZE; i++) |
|
752 { |
|
753 input1[i] = i+1; |
|
754 input2[i] = i+2; |
|
755 input3[i] = i+3; |
|
756 |
|
757 output[i] = 0; |
|
758 } |
|
759 |
|
760 oil_lift_sub_shift1(output, input1, input2, input3, SIZE); |
|
761 |
|
762 for(i = 0; i < SIZE; i++) |
|
763 { |
|
764 if(output[i] != linux_output[i]) |
|
765 { |
|
766 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
767 assert_failed = 1; |
|
768 } |
|
769 } |
|
770 } |
|
771 |
|
772 void test_oil_lift_sub_shift2() |
|
773 { |
|
774 //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n |
|
775 int16_t output[SIZE]; |
|
776 int16_t input1[SIZE]; |
|
777 int16_t input2[SIZE]; |
|
778 int16_t input3[SIZE]; |
|
779 int16_t linux_output[] = {0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10}; |
|
780 int i = 0; |
|
781 |
|
782 for(i=0; i<SIZE; i++) |
|
783 { |
|
784 input1[i] = i+1; |
|
785 input2[i] = i+2; |
|
786 input3[i] = i+3; |
|
787 |
|
788 output[i] = 0; |
|
789 } |
|
790 |
|
791 oil_lift_sub_shift2(output, input1, input2, input3, SIZE); |
|
792 |
|
793 for(i = 0; i < SIZE; i++) |
|
794 { |
|
795 if(output[i] != linux_output[i]) |
|
796 { |
|
797 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
798 assert_failed = 1; |
|
799 } |
|
800 } |
|
801 } |
|
802 |
|
803 void test_oil_lshift_s16() |
|
804 { |
|
805 //int16_t * d1, const int16_t * s1, const int16_t * s2_1, int n |
|
806 int16_t output[SIZE]; |
|
807 int16_t input1[SIZE]; |
|
808 int16_t input2[1]; |
|
809 int16_t linux_output[] = {1024,2048,3072,4096,5120,6144,7168,8192,9216,10240,11264,12288,13312,14336,15360,16384,17408,18432,19456,20480}; |
|
810 int i = 0; |
|
811 |
|
812 input2[0] = 10; |
|
813 for(i=0; i<SIZE; i++) |
|
814 { |
|
815 input1[i] = i+1; |
|
816 |
|
817 output[i] = 0; |
|
818 } |
|
819 |
|
820 oil_lshift_s16(output, input1, input2, SIZE); |
|
821 |
|
822 for(i = 0; i < SIZE; i++) |
|
823 { |
|
824 if(output[i] != linux_output[i]) |
|
825 { |
|
826 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
827 assert_failed = 1; |
|
828 } |
|
829 } |
|
830 } |
|
831 |
|
832 void test_oil_multiply_and_acc_12xn_s16_u8() |
|
833 { |
|
834 //int16_t * i1_12xn, int is1, const int16_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, int n |
|
835 int16_t input1[SIZE*12]; |
|
836 uint8_t input2[SIZE*12]; |
|
837 int16_t output[SIZE*12]; |
|
838 int16_t linux_output[] = {2049,14105,-20630,-27882,1088,9482,6037,-508,-1416,11797,14588,22258,-22445,28216,-31104,-12536,9646,26705,29900,10241,25291,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
839 int i = 0; |
|
840 |
|
841 for(i=0; i<SIZE*12; i++) |
|
842 { |
|
843 input1[i] = i+1; |
|
844 input2[i] = i+1; |
|
845 |
|
846 output[i] = 0; |
|
847 } |
|
848 |
|
849 oil_multiply_and_acc_12xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE); |
|
850 |
|
851 for(i = 0; i < SIZE*12; i++) |
|
852 { |
|
853 if(output[i] != linux_output[i]) |
|
854 { |
|
855 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
856 assert_failed = 1; |
|
857 } |
|
858 } |
|
859 } |
|
860 |
|
861 void test_oil_multiply_and_acc_16xn_s16_u8() |
|
862 { |
|
863 //int16_t * i1_16xn, int is1, const int16_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, int n |
|
864 int16_t input1[SIZE*16]; |
|
865 uint8_t input2[SIZE*16]; |
|
866 int16_t output[SIZE*16]; |
|
867 int16_t linux_output[] = {2562,15902,-16778,-21204,11363,24125,25819,25184,30958,-13657,-8553,1687,16812,-28204,-2288,28512,-32621,-9442,23776,-7240,19842,30750,16744,-30913,10112,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
868 int i = 0; |
|
869 |
|
870 for(i=0; i<SIZE*16; i++) |
|
871 { |
|
872 input1[i] = i+1; |
|
873 input2[i] = i+2; |
|
874 |
|
875 output[i] = 0; |
|
876 } |
|
877 |
|
878 oil_multiply_and_acc_16xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE); |
|
879 |
|
880 for(i = 0; i < SIZE*16; i++) |
|
881 { |
|
882 if(output[i] != linux_output[i]) |
|
883 { |
|
884 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
885 assert_failed = 1; |
|
886 } |
|
887 } |
|
888 } |
|
889 |
|
890 void test_oil_multiply_and_acc_24xn_s16_u8() |
|
891 { |
|
892 //int16_t * i1_24xn, int is1, const int16_t * s1_24xn, int ss1, const uint8_t * s2_24xn, int ss2, int n |
|
893 int16_t input1[SIZE*24]; |
|
894 uint8_t input2[SIZE*24]; |
|
895 int16_t output[SIZE*24]; |
|
896 int16_t linux_output[] = {2562,15902,-16778,-21204,11363,24125,25819,25184,30958,-13657,-8553,1687,16812,-28204,-2288,28512,-1083,-25540,20682,6507,-2529,-6425,-5181,1206,15666,28340,30493,13130,-31716,17517,20765,-29431,-11505,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
897 int i = 0; |
|
898 |
|
899 for(i=0; i<SIZE*24; i++) |
|
900 { |
|
901 input1[i] = i+1; |
|
902 input2[i] = i+2; |
|
903 |
|
904 output[i] = 0; |
|
905 } |
|
906 |
|
907 oil_multiply_and_acc_24xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE); |
|
908 |
|
909 for(i = 0; i < SIZE*24; i++) |
|
910 { |
|
911 if(output[i] != linux_output[i]) |
|
912 { |
|
913 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
914 assert_failed = 1; |
|
915 } |
|
916 } |
|
917 } |
|
918 |
|
919 void test_oil_multiply_and_acc_6xn_s16_u8() |
|
920 { |
|
921 //int16_t * i1_6xn, int is1, const int16_t * s1_6xn, int ss1, const uint8_t * s2_6xn, int ss2, int n |
|
922 int16_t input1[SIZE*6]; |
|
923 uint8_t input2[SIZE*6]; |
|
924 int16_t output[SIZE*6]; |
|
925 int16_t linux_output[] = {2562,15902,-16778,-21204,11363,24125,3235,19354,6945,31545,-12086,19342,-13979,10284,17859,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
926 int i = 0; |
|
927 |
|
928 for(i=0; i<SIZE*6; i++) |
|
929 { |
|
930 input1[i] = i+1; |
|
931 input2[i] = i+2; |
|
932 |
|
933 output[i] = 0; |
|
934 } |
|
935 |
|
936 oil_multiply_and_acc_6xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE); |
|
937 |
|
938 for(i = 0; i < SIZE*6; i++) |
|
939 { |
|
940 if(output[i] != linux_output[i]) |
|
941 { |
|
942 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
943 assert_failed = 1; |
|
944 } |
|
945 } |
|
946 } |
|
947 |
|
948 void test_oil_multiply_and_acc_8xn_s16_u8() |
|
949 { |
|
950 //int16_t * i1_8xn, int is1, const int16_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, int n |
|
951 int16_t input1[SIZE*8]; |
|
952 uint8_t input2[SIZE*8]; |
|
953 int16_t output[SIZE*8]; |
|
954 int16_t linux_output[] = {2562,15902,-16778,-21204,11363,24125,25819,25184,-2412,19336,-14808,-27096,-26260,-21039,-20171,-32394,-910,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; |
|
955 int i = 0; |
|
956 |
|
957 for(i=0; i<SIZE*8; i++) |
|
958 { |
|
959 input1[i] = i+1; |
|
960 input2[i] = i+2; |
|
961 |
|
962 output[i] = 0; |
|
963 } |
|
964 |
|
965 oil_multiply_and_acc_8xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE); |
|
966 |
|
967 for(i = 0; i < SIZE*8; i++) |
|
968 { |
|
969 if(output[i] != linux_output[i]) |
|
970 { |
|
971 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
972 assert_failed = 1; |
|
973 } |
|
974 } |
|
975 |
|
976 } |
|
977 |
|
978 void test_oil_multiply_and_add_s16() |
|
979 { |
|
980 //int16_t * d, const int16_t * src1, const int16_t * src2, const int16_t * src3, int n |
|
981 int16_t output[SIZE]; |
|
982 int16_t input1[SIZE]; |
|
983 int16_t input2[SIZE]; |
|
984 int16_t input3[SIZE]; |
|
985 int16_t linux_output[] = {7,14,23,34,47,62,79,98,119,142,167,194,223,254,287,322,359,398,439,482}; |
|
986 int i = 0; |
|
987 |
|
988 for(i=0; i<SIZE; i++) |
|
989 { |
|
990 input1[i] = i+1; |
|
991 input2[i] = i+2; |
|
992 input3[i] = i+3; |
|
993 |
|
994 output[i] = 0; |
|
995 } |
|
996 |
|
997 oil_multiply_and_add_s16(output, input1, input2, input3, SIZE); |
|
998 |
|
999 for(i = 0; i < SIZE; i++) |
|
1000 { |
|
1001 if(output[i] != linux_output[i]) |
|
1002 { |
|
1003 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1004 assert_failed = 1; |
|
1005 } |
|
1006 } |
|
1007 } |
|
1008 |
|
1009 void test_oil_multiply_and_add_s16_u8() |
|
1010 { |
|
1011 //int16_t * d, const int16_t * src1, const int16_t * src2, const uint8_t * src3, int n |
|
1012 int16_t output[SIZE]; |
|
1013 int16_t input1[SIZE]; |
|
1014 int16_t input2[SIZE]; |
|
1015 uint8_t input3[SIZE]; |
|
1016 int16_t linux_output[] = {7,14,23,34,47,62,79,98,119,142,167,194,223,254,287,322,359,398,439,482}; |
|
1017 int i = 0; |
|
1018 |
|
1019 for(i=0; i<SIZE; i++) |
|
1020 { |
|
1021 input1[i] = i+1; |
|
1022 input2[i] = i+2; |
|
1023 input3[i] = i+3; |
|
1024 |
|
1025 output[i] = 0; |
|
1026 } |
|
1027 |
|
1028 oil_multiply_and_add_s16_u8(output, input1, input2, input3, SIZE); |
|
1029 |
|
1030 for(i = 0; i < SIZE; i++) |
|
1031 { |
|
1032 if(output[i] != linux_output[i]) |
|
1033 { |
|
1034 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1035 assert_failed = 1; |
|
1036 } |
|
1037 } |
|
1038 } |
|
1039 |
|
1040 void test_oil_split_135() |
|
1041 { |
|
1042 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1043 int16_t output[SIZE*2]; |
|
1044 int16_t input1[SIZE*2]; |
|
1045 int16_t linux_output[] = {1,1,3,0,4,0,7,0,9,0,11,0,13,0,15,0,17,0,19,0,21,0,23,0,25,0,27,0,29,0,31,0,33,0,35,0,36,0,39,1}; |
|
1046 int i = 0; |
|
1047 |
|
1048 for(i=0; i<SIZE*2; i++) |
|
1049 { |
|
1050 input1[i] = i+1; |
|
1051 output[i] = 0; |
|
1052 } |
|
1053 |
|
1054 oil_split_135(output, input1, SIZE); |
|
1055 |
|
1056 for(i = 0; i < SIZE*2; i++) |
|
1057 { |
|
1058 if(output[i] != linux_output[i]) |
|
1059 { |
|
1060 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1061 assert_failed = 1; |
|
1062 } |
|
1063 } |
|
1064 } |
|
1065 |
|
1066 void test_oil_split_53() |
|
1067 { |
|
1068 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1069 int16_t output[SIZE*2]; |
|
1070 int16_t input1[SIZE*2]; |
|
1071 int16_t linux_output[] = {1,0,3,0,5,0,7,0,9,0,11,0,13,0,15,0,17,0,19,0,21,0,23,0,25,0,27,0,29,0,31,0,33,0,35,0,37,0,39,1}; |
|
1072 int i = 0; |
|
1073 |
|
1074 for(i=0; i<SIZE*2; i++) |
|
1075 { |
|
1076 input1[i] = i+1; |
|
1077 output[i] = 0; |
|
1078 } |
|
1079 |
|
1080 oil_split_53(output, input1, SIZE); |
|
1081 |
|
1082 for(i = 0; i < SIZE*2; i++) |
|
1083 { |
|
1084 if(output[i] != linux_output[i]) |
|
1085 { |
|
1086 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1087 assert_failed = 1; |
|
1088 } |
|
1089 } |
|
1090 } |
|
1091 |
|
1092 void test_oil_split_approx97() |
|
1093 { |
|
1094 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1095 int16_t output[SIZE*2]; |
|
1096 int16_t input1[SIZE*2]; |
|
1097 int16_t linux_output[] = {1,1,3,0,5,0,7,0,9,0,11,0,13,0,15,0,17,0,19,0,21,0,23,0,25,0,27,0,29,0,31,0,33,0,35,0,37,0,39,1}; |
|
1098 int i = 0; |
|
1099 |
|
1100 for(i=0; i<SIZE*2; i++) |
|
1101 { |
|
1102 input1[i] = i+1; |
|
1103 output[i] = 0; |
|
1104 } |
|
1105 |
|
1106 oil_split_approx97(output, input1, SIZE); |
|
1107 |
|
1108 for(i = 0; i < SIZE*2; i++) |
|
1109 { |
|
1110 if(output[i] != linux_output[i]) |
|
1111 { |
|
1112 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1113 assert_failed = 1; |
|
1114 } |
|
1115 } |
|
1116 } |
|
1117 |
|
1118 void test_oil_split_daub97() |
|
1119 { |
|
1120 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1121 int16_t output[SIZE*2]; |
|
1122 int16_t input1[SIZE*2]; |
|
1123 int16_t linux_output[] = {2,1,4,1,7,1,9,1,12,1,14,0,16,0,19,1,21,0,24,1,26,1,29,0,31,1,34,1,36,1,39,1,41,1,43,0,46,0,48,1}; |
|
1124 int i = 0; |
|
1125 |
|
1126 for(i=0; i<SIZE*2; i++) |
|
1127 { |
|
1128 input1[i] = i+1; |
|
1129 output[i] = 0; |
|
1130 } |
|
1131 |
|
1132 oil_split_daub97(output, input1, SIZE); |
|
1133 |
|
1134 for(i = 0; i < SIZE*2; i++) |
|
1135 { |
|
1136 if(output[i] != linux_output[i]) |
|
1137 { |
|
1138 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1139 assert_failed = 1; |
|
1140 } |
|
1141 } |
|
1142 } |
|
1143 |
|
1144 void test_oil_synth_135() |
|
1145 { |
|
1146 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1147 int16_t output[SIZE*2]; |
|
1148 int16_t input1[SIZE*2]; |
|
1149 int16_t linux_output[] = {1,3,2,6,3,9,4,12,5,15,6,18,7,21,8,24,9,27,10,30,11,33,12,36,13,39,14,42,15,45,16,48,17,51,18,54,19,57,20,60}; |
|
1150 int i = 0; |
|
1151 |
|
1152 for(i=0; i<SIZE*2; i++) |
|
1153 { |
|
1154 input1[i] = i+1; |
|
1155 output[i] = 0; |
|
1156 } |
|
1157 |
|
1158 oil_synth_135(output, input1, SIZE); |
|
1159 |
|
1160 for(i = 0; i < SIZE*2; i++) |
|
1161 { |
|
1162 if(output[i] != linux_output[i]) |
|
1163 { |
|
1164 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1165 assert_failed = 1; |
|
1166 } |
|
1167 } |
|
1168 } |
|
1169 |
|
1170 void test_oil_synth_53() |
|
1171 { |
|
1172 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1173 int16_t output[SIZE*2]; |
|
1174 int16_t input1[SIZE*2]; |
|
1175 int16_t linux_output[] = {0,3,2,6,3,9,4,12,5,15,6,18,7,21,8,24,9,27,10,30,11,33,12,36,13,39,14,42,15,45,16,48,17,51,18,54,19,57,20,60}; |
|
1176 int i = 0; |
|
1177 |
|
1178 for(i=0; i<SIZE*2; i++) |
|
1179 { |
|
1180 input1[i] = i+1; |
|
1181 output[i] = 0; |
|
1182 } |
|
1183 |
|
1184 oil_synth_53(output, input1, SIZE); |
|
1185 |
|
1186 for(i = 0; i < SIZE*2; i++) |
|
1187 { |
|
1188 if(output[i] != linux_output[i]) |
|
1189 { |
|
1190 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1191 assert_failed = 1; |
|
1192 } |
|
1193 } |
|
1194 } |
|
1195 |
|
1196 void test_oil_synth_approx97() |
|
1197 { |
|
1198 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1199 int16_t output[SIZE*2]; |
|
1200 int16_t input1[SIZE*2]; |
|
1201 int16_t linux_output[] = {0,2,2,6,3,9,4,12,5,15,6,18,7,21,8,24,9,27,10,30,11,33,12,36,13,39,14,42,15,45,16,48,17,51,18,54,19,57,20,60}; |
|
1202 int i = 0; |
|
1203 |
|
1204 for(i=0; i<SIZE*2; i++) |
|
1205 { |
|
1206 input1[i] = i+1; |
|
1207 output[i] = 0; |
|
1208 } |
|
1209 |
|
1210 oil_synth_approx97(output, input1, SIZE); |
|
1211 |
|
1212 for(i = 0; i < SIZE*2; i++) |
|
1213 { |
|
1214 if(output[i] != linux_output[i]) |
|
1215 { |
|
1216 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1217 assert_failed = 1; |
|
1218 } |
|
1219 } |
|
1220 } |
|
1221 |
|
1222 void test_oil_synth_daub97() |
|
1223 { |
|
1224 //int16_t * d_2xn, const int16_t * s_2xn, int n |
|
1225 int16_t output[SIZE*2]; |
|
1226 int16_t input1[SIZE*2]; |
|
1227 int16_t linux_output[] = {0,3,1,6,1,8,1,10,2,13,2,16,3,20,3,22,3,25,4,27,4,29,4,33,5,37,6,40,6,42,6,44,6,46,6,51,8,55,8,57}; |
|
1228 int i = 0; |
|
1229 |
|
1230 for(i=0; i<SIZE*2; i++) |
|
1231 { |
|
1232 input1[i] = i+1; |
|
1233 output[i] = 0; |
|
1234 } |
|
1235 |
|
1236 oil_synth_daub97(output, input1, SIZE); |
|
1237 |
|
1238 for(i = 0; i < SIZE*2; i++) |
|
1239 { |
|
1240 if(output[i] != linux_output[i]) |
|
1241 { |
|
1242 std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]); |
|
1243 assert_failed = 1; |
|
1244 } |
|
1245 } |
|
1246 } |
|
1247 |
|
1248 int main (int argc, char *argv[]) |
|
1249 { |
|
1250 oil_init(); |
|
1251 |
|
1252 std_log(LOG_FILENAME_LINE,"START oil_add2_rshift_add_s16 TEST"); |
|
1253 test_oil_add2_rshift_add_s16(); |
|
1254 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1255 |
|
1256 std_log(LOG_FILENAME_LINE,"START oil_add2_rshift_sub_s16 TEST"); |
|
1257 test_oil_add2_rshift_sub_s16(); |
|
1258 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1259 |
|
1260 std_log(LOG_FILENAME_LINE,"START oil_add_const_rshift_s16 TEST"); |
|
1261 test_oil_add_const_rshift_s16(); |
|
1262 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1263 |
|
1264 std_log(LOG_FILENAME_LINE,"START oil_avg2_12xn_u8 TEST"); |
|
1265 test_oil_avg2_12xn_u8(); |
|
1266 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1267 |
|
1268 std_log(LOG_FILENAME_LINE,"START oil_avg2_16xn_u8 TEST"); |
|
1269 test_oil_avg2_16xn_u8(); |
|
1270 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1271 |
|
1272 std_log(LOG_FILENAME_LINE,"START oil_avg2_8xn_u8 TEST"); |
|
1273 test_oil_avg2_8xn_u8(); |
|
1274 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1275 |
|
1276 std_log(LOG_FILENAME_LINE,"START oil_combine2_12xn_u8 TEST"); |
|
1277 test_oil_combine2_12xn_u8(); |
|
1278 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1279 |
|
1280 std_log(LOG_FILENAME_LINE,"START oil_combine2_16xn_u8 TEST"); |
|
1281 test_oil_combine2_16xn_u8(); |
|
1282 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1283 |
|
1284 std_log(LOG_FILENAME_LINE,"START oil_combine2_8xn_u8 TEST"); |
|
1285 test_oil_combine2_8xn_u8(); |
|
1286 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1287 |
|
1288 std_log(LOG_FILENAME_LINE,"START oil_combine4_12xn_u8 TEST"); |
|
1289 test_oil_combine4_12xn_u8(); //case fails...getting diff result than linux one. |
|
1290 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1291 |
|
1292 std_log(LOG_FILENAME_LINE,"START oil_combine4_16xn_u8 TEST"); |
|
1293 test_oil_combine4_16xn_u8(); //case fails...getting diff result than linux one. |
|
1294 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1295 |
|
1296 std_log(LOG_FILENAME_LINE,"START oil_combine4_8xn_u8 TEST"); |
|
1297 test_oil_combine4_8xn_u8(); //case fails...getting diff result than linux one. |
|
1298 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1299 |
|
1300 std_log(LOG_FILENAME_LINE,"START oil_deinterleave TEST"); |
|
1301 test_oil_deinterleave(); |
|
1302 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1303 |
|
1304 std_log(LOG_FILENAME_LINE,"START oil_deinterleave2_s16 TEST"); |
|
1305 test_oil_deinterleave2_s16(); |
|
1306 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1307 |
|
1308 std_log(LOG_FILENAME_LINE,"START oil_interleave TEST"); |
|
1309 test_oil_interleave(); |
|
1310 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1311 |
|
1312 std_log(LOG_FILENAME_LINE,"START oil_interleave2_s16 TEST"); |
|
1313 test_oil_interleave2_s16(); |
|
1314 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1315 |
|
1316 std_log(LOG_FILENAME_LINE,"START oil_lift_add_135 TEST"); |
|
1317 test_oil_lift_add_135(); |
|
1318 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1319 |
|
1320 std_log(LOG_FILENAME_LINE,"START oil_lift_add_mult_shift12 TEST"); |
|
1321 test_oil_lift_add_mult_shift12(); |
|
1322 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1323 |
|
1324 std_log(LOG_FILENAME_LINE,"START oil_lift_add_shift1 TEST"); |
|
1325 test_oil_lift_add_shift1(); |
|
1326 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1327 |
|
1328 std_log(LOG_FILENAME_LINE,"START oil_interleave2_s16 TEST"); |
|
1329 test_oil_lift_add_shift2(); |
|
1330 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1331 |
|
1332 std_log(LOG_FILENAME_LINE,"START oil_lift_sub_135 TEST"); |
|
1333 test_oil_lift_sub_135(); |
|
1334 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1335 |
|
1336 std_log(LOG_FILENAME_LINE,"START oil_lift_sub_mult_shift12 TEST"); |
|
1337 test_oil_lift_sub_mult_shift12(); |
|
1338 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1339 |
|
1340 std_log(LOG_FILENAME_LINE,"START oil_lift_sub_shift1 TEST"); |
|
1341 test_oil_lift_sub_shift1(); |
|
1342 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1343 |
|
1344 std_log(LOG_FILENAME_LINE,"START oil_lift_sub_shift2 TEST"); |
|
1345 test_oil_lift_sub_shift2(); |
|
1346 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1347 |
|
1348 std_log(LOG_FILENAME_LINE,"START oil_lshift_s16 TEST"); |
|
1349 test_oil_lshift_s16(); |
|
1350 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1351 |
|
1352 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_12xn_s16_u8 TEST"); |
|
1353 test_oil_multiply_and_acc_12xn_s16_u8(); |
|
1354 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1355 |
|
1356 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_16xn_s16_u8 TEST"); |
|
1357 test_oil_multiply_and_acc_16xn_s16_u8(); |
|
1358 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1359 |
|
1360 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_24xn_s16_u8 TEST"); |
|
1361 test_oil_multiply_and_acc_24xn_s16_u8(); |
|
1362 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1363 |
|
1364 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_6xn_s16_u8 TEST"); |
|
1365 test_oil_multiply_and_acc_6xn_s16_u8(); |
|
1366 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1367 |
|
1368 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_8xn_s16_u8 TEST"); |
|
1369 test_oil_multiply_and_acc_8xn_s16_u8(); |
|
1370 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1371 |
|
1372 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_add_s16 TEST"); |
|
1373 test_oil_multiply_and_add_s16(); |
|
1374 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1375 |
|
1376 std_log(LOG_FILENAME_LINE,"START oil_multiply_and_add_s16_u8 TEST"); |
|
1377 test_oil_multiply_and_add_s16_u8(); |
|
1378 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1379 |
|
1380 std_log(LOG_FILENAME_LINE,"START oil_split_135 TEST"); |
|
1381 test_oil_split_135(); |
|
1382 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1383 |
|
1384 std_log(LOG_FILENAME_LINE,"START oil_split_53 TEST"); |
|
1385 test_oil_split_53(); |
|
1386 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1387 |
|
1388 std_log(LOG_FILENAME_LINE,"START oil_split_approx97 TEST"); |
|
1389 test_oil_split_approx97(); |
|
1390 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1391 |
|
1392 std_log(LOG_FILENAME_LINE,"START oil_split_daub97 TEST"); |
|
1393 test_oil_split_daub97(); |
|
1394 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1395 |
|
1396 std_log(LOG_FILENAME_LINE,"START oil_synth_135 TEST"); |
|
1397 test_oil_synth_135(); |
|
1398 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1399 |
|
1400 std_log(LOG_FILENAME_LINE,"START oil_synth_53 TEST"); |
|
1401 test_oil_synth_53(); |
|
1402 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1403 |
|
1404 std_log(LOG_FILENAME_LINE,"START oil_synth_approx97 TEST"); |
|
1405 test_oil_synth_approx97(); |
|
1406 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1407 |
|
1408 std_log(LOG_FILENAME_LINE,"START oil_synth_daub97 TEST"); |
|
1409 test_oil_synth_daub97(); |
|
1410 std_log(LOG_FILENAME_LINE,"END TEST\n"); |
|
1411 |
|
1412 if(assert_failed) |
|
1413 std_log(LOG_FILENAME_LINE,"Test Failed"); |
|
1414 else |
|
1415 std_log(LOG_FILENAME_LINE,"Test Successful"); |
|
1416 |
|
1417 create_xml(0); |
|
1418 |
|
1419 return 0; |
|
1420 } |
|
1421 |