1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericopenlibs/liboil/tsrc/testsuite/wavelet/src/wavelet.c Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,1421 @@
1.4 +/*
1.5 +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +#include <liboil/liboil.h>
1.23 +#include <liboil/liboilfunction.h>
1.24 +#include <stdio.h>
1.25 +#include <stdlib.h>
1.26 +
1.27 +#include <liboil/globals.h>
1.28 +
1.29 +#define LOG_FILE "c:\\logs\\testsuite_wavelet_log.txt"
1.30 +#include "std_log_result.h"
1.31 +#define LOG_FILENAME_LINE __FILE__, __LINE__
1.32 +
1.33 +#define SIZE 20
1.34 +
1.35 +void create_xml(int result)
1.36 +{
1.37 + if(result)
1.38 + assert_failed = 1;
1.39 +
1.40 + testResultXml("testsuite_wavelet");
1.41 + close_log_file();
1.42 +}
1.43 +
1.44 +void test_oil_add2_rshift_add_s16()
1.45 + {
1.46 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, int n
1.47 + int16_t input1[SIZE];
1.48 + int16_t input2[SIZE];
1.49 + int16_t input3[SIZE];
1.50 + int16_t input4[2];
1.51 + int16_t output[SIZE];
1.52 + int16_t linux_output[] = {0,1,2,3,5,6,7,9,10,11,13,14,15,17,18,19,21,22,23,24};
1.53 + int i = 0;
1.54 +
1.55 + for(i=0; i<SIZE; i++)
1.56 + {
1.57 + input1[i] = i;
1.58 + input2[i] = i*2;
1.59 + input3[i] = i*3;
1.60 + if(i < 2)
1.61 + input4[i] = i*4;
1.62 + }
1.63 +
1.64 + oil_add2_rshift_add_s16(output, input1, input2, input3, input4, SIZE);
1.65 +
1.66 + for(i = 0; i < SIZE; i++)
1.67 + {
1.68 + if(output[i] != linux_output[i])
1.69 + {
1.70 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.71 + assert_failed = 1;
1.72 + }
1.73 + }
1.74 + }
1.75 +
1.76 +void test_oil_add2_rshift_sub_s16()
1.77 + {
1.78 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, int n
1.79 + int16_t input1[SIZE];
1.80 + int16_t input2[SIZE];
1.81 + int16_t input3[SIZE];
1.82 + int16_t input4[2];
1.83 + int16_t output[SIZE];
1.84 + int16_t linux_output[] = {0,1,2,3,3,4,5,5,6,7,7,8,9,9,10,11,11,12,13,14};
1.85 + int i = 0;
1.86 +
1.87 + for(i=0; i<SIZE; i++)
1.88 + {
1.89 + input1[i] = i;
1.90 + input2[i] = i*2;
1.91 + input3[i] = i*3;
1.92 + if(i < 2)
1.93 + input4[i] = i*4;
1.94 + }
1.95 +
1.96 + oil_add2_rshift_sub_s16(output, input1, input2, input3, input4, SIZE);
1.97 +
1.98 + for(i = 0; i < SIZE; i++)
1.99 + {
1.100 + if(output[i] != linux_output[i])
1.101 + {
1.102 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.103 + assert_failed = 1;
1.104 + }
1.105 + }
1.106 + }
1.107 +
1.108 +void test_oil_add_const_rshift_s16()
1.109 + {
1.110 + //int16_t * d1, const int16_t * s1, const int16_t * s2_2, int n
1.111 + int16_t input1[SIZE];
1.112 + int16_t input2[2];
1.113 + int16_t output[SIZE];
1.114 + int16_t linux_output[] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4};
1.115 + int i = 0;
1.116 +
1.117 + for(i=0; i<SIZE; i++)
1.118 + {
1.119 + input1[i] = i;
1.120 + if(i < 2)
1.121 + input2[i] = i*2;
1.122 + }
1.123 +
1.124 + oil_add_const_rshift_s16(output, input1, input2, SIZE);
1.125 +
1.126 + for(i = 0; i < SIZE; i++)
1.127 + {
1.128 + if(output[i] != linux_output[i])
1.129 + {
1.130 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.131 + assert_failed = 1;
1.132 + }
1.133 + }
1.134 + }
1.135 +
1.136 +void test_oil_avg2_12xn_u8()
1.137 + {
1.138 + //uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, int n
1.139 + uint8_t input1[SIZE*12];
1.140 + uint8_t input2[SIZE*12];
1.141 + uint8_t output[SIZE*12];
1.142 + 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};
1.143 + int i = 0;
1.144 +
1.145 + for(i=0; i<SIZE*12; i++)
1.146 + {
1.147 + output[i] = 0;
1.148 + input1[i] = i;
1.149 + input2[i] = i*2;
1.150 + }
1.151 +
1.152 + oil_avg2_12xn_u8(output, 2, input1, 3, input2, 4, SIZE);
1.153 +
1.154 + for(i = 0; i < SIZE*12; i++)
1.155 + {
1.156 + if(output[i] != linux_output[i])
1.157 + {
1.158 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.159 + assert_failed = 1;
1.160 + }
1.161 + }
1.162 + }
1.163 +
1.164 +void test_oil_avg2_16xn_u8()
1.165 + {
1.166 + //uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, int n
1.167 + uint8_t input1[SIZE*16];
1.168 + uint8_t input2[SIZE*16];
1.169 + uint8_t output[SIZE*16];
1.170 + 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};
1.171 + int i = 0;
1.172 +
1.173 + for(i=0; i<SIZE*16; i++)
1.174 + {
1.175 + output[i] = 0;
1.176 + input1[i] = i;
1.177 + input2[i] = i*2;
1.178 + }
1.179 +
1.180 + oil_avg2_16xn_u8(output, 2, input1, 3, input2, 4, SIZE);
1.181 +
1.182 + for(i = 0; i < SIZE*16; i++)
1.183 + {
1.184 + if(output[i] != linux_output[i])
1.185 + {
1.186 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.187 + assert_failed = 1;
1.188 + }
1.189 + }
1.190 + }
1.191 +
1.192 +void test_oil_avg2_8xn_u8()
1.193 + {
1.194 + //uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, int n
1.195 + uint8_t input1[SIZE*8];
1.196 + uint8_t input2[SIZE*8];
1.197 + uint8_t output[SIZE*8];
1.198 + 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};
1.199 + int i = 0;
1.200 +
1.201 + for(i=0; i<SIZE*8; i++)
1.202 + {
1.203 + output[i] = 0;
1.204 + input1[i] = i;
1.205 + input2[i] = i*2;
1.206 + }
1.207 +
1.208 + oil_avg2_8xn_u8(output, 2, input1, 3, input2, 4, SIZE);
1.209 +
1.210 + for(i = 0; i < SIZE*8; i++)
1.211 + {
1.212 + if(output[i] != linux_output[i])
1.213 + {
1.214 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.215 + assert_failed = 1;
1.216 + }
1.217 + }
1.218 + }
1.219 +
1.220 +void test_oil_combine2_12xn_u8()
1.221 + {
1.222 + //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
1.223 + uint8_t input1[SIZE*12];
1.224 + uint8_t input2[SIZE*12];
1.225 + int16_t input3[4];
1.226 + uint8_t output[SIZE*12];
1.227 + 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};
1.228 + int i = 0;
1.229 +
1.230 + for(i=0; i<SIZE*12; i++)
1.231 + {
1.232 + output[i] = 0;
1.233 + input1[i] = i;
1.234 + input2[i] = i*2;
1.235 +
1.236 + if(i < 4)
1.237 + input3[i] = i*3;
1.238 + }
1.239 +
1.240 + oil_combine2_12xn_u8(output, 2, input1, 3, input2, 4, input3, SIZE);
1.241 +
1.242 + for(i = 0; i < SIZE*12; i++)
1.243 + {
1.244 + if(output[i] != linux_output[i])
1.245 + {
1.246 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.247 + assert_failed = 1;
1.248 + }
1.249 + }
1.250 + }
1.251 +
1.252 +void test_oil_combine2_16xn_u8()
1.253 + {
1.254 + //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
1.255 + uint8_t input1[SIZE*16];
1.256 + uint8_t input2[SIZE*16];
1.257 + int16_t input3[4];
1.258 + uint8_t output[SIZE*16];
1.259 + 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};
1.260 + int i = 0;
1.261 +
1.262 + for(i=0; i<SIZE*16; i++)
1.263 + {
1.264 + output[i] = 1;
1.265 + input1[i] = i;
1.266 + input2[i] = i*2;
1.267 +
1.268 + if(i < 4)
1.269 + input3[i] = i*3;
1.270 + }
1.271 +
1.272 + oil_combine2_16xn_u8(output, 2, input1, 3, input2, 4, input3, SIZE);
1.273 +
1.274 + for(i = 0; i < SIZE*16; i++)
1.275 + {
1.276 + if(output[i] != linux_output[i])
1.277 + {
1.278 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.279 + assert_failed = 1;
1.280 + }
1.281 + }
1.282 + }
1.283 +
1.284 +void test_oil_combine2_8xn_u8()
1.285 + {
1.286 + //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
1.287 + uint8_t input1[SIZE*8];
1.288 + uint8_t input2[SIZE*8];
1.289 + int16_t input3[4];
1.290 + uint8_t output[SIZE*8];
1.291 + 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};
1.292 + int i = 0;
1.293 +
1.294 + for(i=0; i<SIZE*8; i++)
1.295 + {
1.296 + output[i] = 2;
1.297 + input1[i] = i;
1.298 + input2[i] = i*2;
1.299 +
1.300 + if(i < 4)
1.301 + input3[i] = i*3;
1.302 + }
1.303 +
1.304 + oil_combine2_8xn_u8(output, 2, input1, 3, input2, 4, input3, SIZE);
1.305 +
1.306 + for(i = 0; i < SIZE*8; i++)
1.307 + {
1.308 + if(output[i] != linux_output[i])
1.309 + {
1.310 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.311 + assert_failed = 1;
1.312 + }
1.313 + }
1.314 + }
1.315 +
1.316 +void test_oil_combine4_12xn_u8()
1.317 + {
1.318 + //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
1.319 + uint8_t input1[SIZE*12];
1.320 + uint8_t input2[SIZE*12];
1.321 + uint8_t input3[SIZE*12];
1.322 + uint8_t input4[SIZE*12];
1.323 + int16_t input5[6];
1.324 + uint8_t output[SIZE*12];
1.325 + 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.326 +
1.327 + int i = 0;
1.328 +
1.329 + for(i=0; i<SIZE*12; i++)
1.330 + {
1.331 + output[i] = 1;
1.332 + input1[i] = i;
1.333 + input2[i] = i+2;
1.334 + input3[i] = i+3;
1.335 + input4[i] = i+4;
1.336 +
1.337 + if(i < 6)
1.338 + input5[i] = i+5;
1.339 + }
1.340 +
1.341 + oil_combine4_12xn_u8(output, 1, input1, 1, input2, 2, input3, 3, input4, 4, input5, SIZE);
1.342 +
1.343 + for(i = 0; i < SIZE*12; i++)
1.344 + {
1.345 + if(output[i] != expected_output[i])
1.346 + {
1.347 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]);
1.348 + assert_failed = 1;
1.349 + }
1.350 + }
1.351 + }
1.352 +
1.353 +void test_oil_combine4_16xn_u8()
1.354 + {
1.355 + //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
1.356 + uint8_t input1[SIZE*16];
1.357 + uint8_t input2[SIZE*16];
1.358 + uint8_t input3[SIZE*16];
1.359 + uint8_t input4[SIZE*16];
1.360 + int16_t input5[6];
1.361 + uint8_t output[SIZE*16];
1.362 + 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};
1.363 + int i = 0;
1.364 +
1.365 + for(i=0; i<SIZE*16; i++)
1.366 + {
1.367 + output[i] = 1;
1.368 + input1[i] = i;
1.369 + input2[i] = i+2;
1.370 + input3[i] = i+3;
1.371 + input4[i] = i+4;
1.372 +
1.373 + if(i < 6)
1.374 + input5[i] = i+5;
1.375 + }
1.376 +
1.377 + oil_combine4_16xn_u8(output, 1, input1, 1, input2, 2, input3, 3, input4, 4, input5, SIZE);
1.378 +
1.379 + for(i = 0; i < SIZE*16; i++)
1.380 + {
1.381 + if(output[i] != expected_output[i])
1.382 + {
1.383 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]);
1.384 + assert_failed = 1;
1.385 + }
1.386 + }
1.387 + }
1.388 +
1.389 +void test_oil_combine4_8xn_u8()
1.390 + {
1.391 + //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
1.392 + uint8_t input1[SIZE*8];
1.393 + uint8_t input2[SIZE*8];
1.394 + uint8_t input3[SIZE*8];
1.395 + uint8_t input4[SIZE*8];
1.396 + int16_t input5[6];
1.397 + uint8_t output[SIZE*8];
1.398 + 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.399 + int i = 0;
1.400 +
1.401 + for(i=0; i<SIZE*8; i++)
1.402 + {
1.403 + output[i] = 1;
1.404 + input1[i] = i;
1.405 + input2[i] = i+2;
1.406 + input3[i] = i+3;
1.407 + input4[i] = i+4;
1.408 +
1.409 + if(i < 6)
1.410 + input5[i] = i+5;
1.411 + }
1.412 +
1.413 + oil_combine4_8xn_u8(output, 1, input1, 1, input2, 2, input3, 3, input4, 4, input5, SIZE);
1.414 +
1.415 + for(i = 0; i < SIZE*8; i++)
1.416 + {
1.417 + if(output[i] != expected_output[i])
1.418 + {
1.419 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]);
1.420 + assert_failed = 1;
1.421 + }
1.422 + }
1.423 + }
1.424 +
1.425 +void test_oil_deinterleave()
1.426 + {
1.427 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.428 + int16_t input[SIZE*2];
1.429 + int16_t output[SIZE*2];
1.430 + 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};
1.431 + int i = 0;
1.432 +
1.433 + for(i=0; i<SIZE*2; i++)
1.434 + {
1.435 + output[i] = 0;
1.436 + input[i] = i;
1.437 + }
1.438 +
1.439 + oil_deinterleave(output, input, SIZE);
1.440 +
1.441 + for(i = 0; i < SIZE*2; i++)
1.442 + {
1.443 + if(output[i] != linux_output[i])
1.444 + {
1.445 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.446 + assert_failed = 1;
1.447 + }
1.448 + }
1.449 + }
1.450 +
1.451 +void test_oil_deinterleave2_s16()
1.452 + {
1.453 + //int16_t * d1_n, int16_t * d2_n, const int16_t * s_2xn, int n
1.454 + int16_t input[SIZE*2];
1.455 + int16_t output1[SIZE];
1.456 + int16_t output2[SIZE];
1.457 + int16_t linux_output1[] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38};
1.458 + int16_t linux_output2[] = {1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39};
1.459 + int i = 0;
1.460 +
1.461 + for(i=0; i<SIZE*2; i++)
1.462 + {
1.463 + if(i < SIZE)
1.464 + {
1.465 + output1[i] = i+1;
1.466 + output2[i] = i+2;
1.467 + }
1.468 + input[i] = i;
1.469 + }
1.470 +
1.471 + oil_deinterleave2_s16(output1, output2, input, SIZE);
1.472 +
1.473 + for(i = 0; i < SIZE; i++)
1.474 + {
1.475 + if(output1[i] != linux_output1[i])
1.476 + {
1.477 + std_log(LOG_FILENAME_LINE, "output1[%d]: expected value - %d, actual value - %d", i,linux_output1[i],output1[i]);
1.478 + assert_failed = 1;
1.479 + }
1.480 +
1.481 + if(output2[i] != linux_output2[i])
1.482 + {
1.483 + std_log(LOG_FILENAME_LINE, "output2[%d]: expected value - %d, actual value - %d", i,linux_output2[i],output2[i]);
1.484 + assert_failed = 1;
1.485 + }
1.486 + }
1.487 + }
1.488 +
1.489 +void test_oil_interleave()
1.490 + {
1.491 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.492 + int16_t input[SIZE*2];
1.493 + int16_t output[SIZE*2];
1.494 + 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};
1.495 + int i = 0;
1.496 +
1.497 + for(i=0; i<SIZE*2; i++)
1.498 + {
1.499 + output[i] = 0;
1.500 + input[i] = i;
1.501 + }
1.502 +
1.503 + oil_interleave(output, input, SIZE);
1.504 +
1.505 + for(i = 0; i < SIZE*2; i++)
1.506 + {
1.507 + if(output[i] != linux_output[i])
1.508 + {
1.509 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.510 + assert_failed = 1;
1.511 + }
1.512 + }
1.513 + }
1.514 +
1.515 +void test_oil_interleave2_s16()
1.516 + {
1.517 + //int16_t * d_2xn, const int16_t * s1_n, const int16_t * s2_n, int n
1.518 + int16_t input1[SIZE];
1.519 + int16_t input2[SIZE];
1.520 + int16_t output[SIZE*2];
1.521 + int16_t linux_output[] = {1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11};
1.522 + int i = 0;
1.523 +
1.524 + for(i=0; i<SIZE*2; i++)
1.525 + {
1.526 + if(i < SIZE)
1.527 + {
1.528 + input1[i] = i+1;
1.529 + input2[i] = i+2;
1.530 + }
1.531 + output[i] = 0;
1.532 + }
1.533 +
1.534 + oil_interleave2_s16(output, input1, input2, SIZE);
1.535 +
1.536 + for(i = 0; i < SIZE; i++)
1.537 + {
1.538 + if(output[i] != linux_output[i])
1.539 + {
1.540 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.541 + assert_failed = 1;
1.542 + }
1.543 + }
1.544 + }
1.545 +
1.546 +void test_oil_lift_add_135()
1.547 + {
1.548 + //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
1.549 + int16_t output[SIZE];
1.550 + int16_t input1[SIZE];
1.551 + int16_t input2[SIZE];
1.552 + int16_t input3[SIZE];
1.553 + int16_t input4[SIZE];
1.554 + int16_t input5[SIZE];
1.555 + int16_t linux_output[] = {15,5,7,10,12,14,16,18,20,22,24,26,28,30,32,34,36,39,41,32};
1.556 + int i = 0;
1.557 +
1.558 + for(i=0; i<SIZE; i++)
1.559 + {
1.560 + input1[i] = i+1;
1.561 + input2[i] = i+2;
1.562 + input3[i] = i+3;
1.563 + input4[i] = i+4;
1.564 + input5[i] = i+5;
1.565 +
1.566 + output[i] = 0;
1.567 + }
1.568 +
1.569 + oil_lift_add_135(output, input1, input2, input3, input4, input5, SIZE);
1.570 +
1.571 + for(i = 0; i < SIZE; i++)
1.572 + {
1.573 + if(output[i] != linux_output[i])
1.574 + {
1.575 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.576 + assert_failed = 1;
1.577 + }
1.578 + }
1.579 + }
1.580 +
1.581 +void test_oil_lift_add_mult_shift12()
1.582 + {
1.583 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_1, int n
1.584 + int16_t output[SIZE];
1.585 + int16_t input1[SIZE];
1.586 + int16_t input2[SIZE];
1.587 + int16_t input3[SIZE];
1.588 + int16_t input4[1];
1.589 + int16_t linux_output[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
1.590 + int i = 0;
1.591 +
1.592 + input4[0] = 4;
1.593 + for(i=0; i<SIZE; i++)
1.594 + {
1.595 + input1[i] = i+1;
1.596 + input2[i] = i+2;
1.597 + input3[i] = i+3;
1.598 +
1.599 + output[i] = 0;
1.600 + }
1.601 +
1.602 + oil_lift_add_mult_shift12(output, input1, input2, input3, input4, SIZE);
1.603 +
1.604 + for(i = 0; i < SIZE; i++)
1.605 + {
1.606 + if(output[i] != linux_output[i])
1.607 + {
1.608 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.609 + assert_failed = 1;
1.610 + }
1.611 + }
1.612 + }
1.613 +
1.614 +void test_oil_lift_add_shift1()
1.615 + {
1.616 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n
1.617 + int16_t output[SIZE];
1.618 + int16_t input1[SIZE];
1.619 + int16_t input2[SIZE];
1.620 + int16_t input3[SIZE];
1.621 + int16_t linux_output[] = {3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41};
1.622 + int i = 0;
1.623 +
1.624 + for(i=0; i<SIZE; i++)
1.625 + {
1.626 + input1[i] = i+1;
1.627 + input2[i] = i+2;
1.628 + input3[i] = i+3;
1.629 +
1.630 + output[i] = 0;
1.631 + }
1.632 +
1.633 + oil_lift_add_shift1(output, input1, input2, input3, SIZE);
1.634 +
1.635 + for(i = 0; i < SIZE; i++)
1.636 + {
1.637 + if(output[i] != linux_output[i])
1.638 + {
1.639 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.640 + assert_failed = 1;
1.641 + }
1.642 + }
1.643 + }
1.644 +
1.645 +void test_oil_lift_add_shift2()
1.646 + {
1.647 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n
1.648 + int16_t output[SIZE];
1.649 + int16_t input1[SIZE];
1.650 + int16_t input2[SIZE];
1.651 + int16_t input3[SIZE];
1.652 + int16_t linux_output[] = {2,3,5,6,8,9,11,12,14,15,17,18,20,21,23,24,26,27,29,30};
1.653 + int i = 0;
1.654 +
1.655 + for(i=0; i<SIZE; i++)
1.656 + {
1.657 + input1[i] = i+1;
1.658 + input2[i] = i+2;
1.659 + input3[i] = i+3;
1.660 +
1.661 + output[i] = 0;
1.662 + }
1.663 +
1.664 + oil_lift_add_shift2(output, input1, input2, input3, SIZE);
1.665 +
1.666 + for(i = 0; i < SIZE; i++)
1.667 + {
1.668 + if(output[i] != linux_output[i])
1.669 + {
1.670 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.671 + assert_failed = 1;
1.672 + }
1.673 + }
1.674 + }
1.675 +
1.676 +void test_oil_lift_sub_135()
1.677 + {
1.678 + //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
1.679 + int16_t output[SIZE];
1.680 + int16_t input1[SIZE];
1.681 + int16_t input2[SIZE];
1.682 + int16_t input3[SIZE];
1.683 + int16_t input4[SIZE];
1.684 + int16_t input5[SIZE];
1.685 + int16_t linux_output[] = {-13,-1,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-3,-3,8};
1.686 + int i = 0;
1.687 +
1.688 + for(i=0; i<SIZE; i++)
1.689 + {
1.690 + input1[i] = i+1;
1.691 + input2[i] = i+2;
1.692 + input3[i] = i+3;
1.693 + input4[i] = i+4;
1.694 + input5[i] = i+5;
1.695 +
1.696 + output[i] = 0;
1.697 + }
1.698 +
1.699 + oil_lift_sub_135(output, input1, input2, input3, input4, input5, SIZE);
1.700 +
1.701 + for(i = 0; i < SIZE; i++)
1.702 + {
1.703 + if(output[i] != linux_output[i])
1.704 + {
1.705 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.706 + assert_failed = 1;
1.707 + }
1.708 + }
1.709 + }
1.710 +
1.711 +void test_oil_lift_sub_mult_shift12()
1.712 + {
1.713 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_1, int n
1.714 + int16_t output[SIZE];
1.715 + int16_t input1[SIZE];
1.716 + int16_t input2[SIZE];
1.717 + int16_t input3[SIZE];
1.718 + int16_t input4[1];
1.719 + int16_t linux_output[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
1.720 + int i = 0;
1.721 +
1.722 + input4[0] = 4;
1.723 + for(i=0; i<SIZE; i++)
1.724 + {
1.725 + input1[i] = i+1;
1.726 + input2[i] = i+2;
1.727 + input3[i] = i+3;
1.728 +
1.729 + output[i] = 0;
1.730 + }
1.731 +
1.732 + oil_lift_sub_mult_shift12(output, input1, input2, input3, input4, SIZE);
1.733 +
1.734 + for(i = 0; i < SIZE; i++)
1.735 + {
1.736 + if(output[i] != linux_output[i])
1.737 + {
1.738 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.739 + assert_failed = 1;
1.740 + }
1.741 + }
1.742 + }
1.743 +
1.744 +void test_oil_lift_sub_shift1()
1.745 + {
1.746 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n
1.747 + int16_t output[SIZE];
1.748 + int16_t input1[SIZE];
1.749 + int16_t input2[SIZE];
1.750 + int16_t input3[SIZE];
1.751 + int16_t linux_output[] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
1.752 + int i = 0;
1.753 +
1.754 + for(i=0; i<SIZE; i++)
1.755 + {
1.756 + input1[i] = i+1;
1.757 + input2[i] = i+2;
1.758 + input3[i] = i+3;
1.759 +
1.760 + output[i] = 0;
1.761 + }
1.762 +
1.763 + oil_lift_sub_shift1(output, input1, input2, input3, SIZE);
1.764 +
1.765 + for(i = 0; i < SIZE; i++)
1.766 + {
1.767 + if(output[i] != linux_output[i])
1.768 + {
1.769 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.770 + assert_failed = 1;
1.771 + }
1.772 + }
1.773 + }
1.774 +
1.775 +void test_oil_lift_sub_shift2()
1.776 + {
1.777 + //int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n
1.778 + int16_t output[SIZE];
1.779 + int16_t input1[SIZE];
1.780 + int16_t input2[SIZE];
1.781 + int16_t input3[SIZE];
1.782 + int16_t linux_output[] = {0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10};
1.783 + int i = 0;
1.784 +
1.785 + for(i=0; i<SIZE; i++)
1.786 + {
1.787 + input1[i] = i+1;
1.788 + input2[i] = i+2;
1.789 + input3[i] = i+3;
1.790 +
1.791 + output[i] = 0;
1.792 + }
1.793 +
1.794 + oil_lift_sub_shift2(output, input1, input2, input3, SIZE);
1.795 +
1.796 + for(i = 0; i < SIZE; i++)
1.797 + {
1.798 + if(output[i] != linux_output[i])
1.799 + {
1.800 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.801 + assert_failed = 1;
1.802 + }
1.803 + }
1.804 + }
1.805 +
1.806 +void test_oil_lshift_s16()
1.807 + {
1.808 + //int16_t * d1, const int16_t * s1, const int16_t * s2_1, int n
1.809 + int16_t output[SIZE];
1.810 + int16_t input1[SIZE];
1.811 + int16_t input2[1];
1.812 + int16_t linux_output[] = {1024,2048,3072,4096,5120,6144,7168,8192,9216,10240,11264,12288,13312,14336,15360,16384,17408,18432,19456,20480};
1.813 + int i = 0;
1.814 +
1.815 + input2[0] = 10;
1.816 + for(i=0; i<SIZE; i++)
1.817 + {
1.818 + input1[i] = i+1;
1.819 +
1.820 + output[i] = 0;
1.821 + }
1.822 +
1.823 + oil_lshift_s16(output, input1, input2, SIZE);
1.824 +
1.825 + for(i = 0; i < SIZE; i++)
1.826 + {
1.827 + if(output[i] != linux_output[i])
1.828 + {
1.829 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.830 + assert_failed = 1;
1.831 + }
1.832 + }
1.833 + }
1.834 +
1.835 +void test_oil_multiply_and_acc_12xn_s16_u8()
1.836 + {
1.837 + //int16_t * i1_12xn, int is1, const int16_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, int n
1.838 + int16_t input1[SIZE*12];
1.839 + uint8_t input2[SIZE*12];
1.840 + int16_t output[SIZE*12];
1.841 + 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};
1.842 + int i = 0;
1.843 +
1.844 + for(i=0; i<SIZE*12; i++)
1.845 + {
1.846 + input1[i] = i+1;
1.847 + input2[i] = i+1;
1.848 +
1.849 + output[i] = 0;
1.850 + }
1.851 +
1.852 + oil_multiply_and_acc_12xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE);
1.853 +
1.854 + for(i = 0; i < SIZE*12; i++)
1.855 + {
1.856 + if(output[i] != linux_output[i])
1.857 + {
1.858 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.859 + assert_failed = 1;
1.860 + }
1.861 + }
1.862 + }
1.863 +
1.864 +void test_oil_multiply_and_acc_16xn_s16_u8()
1.865 + {
1.866 + //int16_t * i1_16xn, int is1, const int16_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, int n
1.867 + int16_t input1[SIZE*16];
1.868 + uint8_t input2[SIZE*16];
1.869 + int16_t output[SIZE*16];
1.870 + 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};
1.871 + int i = 0;
1.872 +
1.873 + for(i=0; i<SIZE*16; i++)
1.874 + {
1.875 + input1[i] = i+1;
1.876 + input2[i] = i+2;
1.877 +
1.878 + output[i] = 0;
1.879 + }
1.880 +
1.881 + oil_multiply_and_acc_16xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE);
1.882 +
1.883 + for(i = 0; i < SIZE*16; i++)
1.884 + {
1.885 + if(output[i] != linux_output[i])
1.886 + {
1.887 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.888 + assert_failed = 1;
1.889 + }
1.890 + }
1.891 + }
1.892 +
1.893 +void test_oil_multiply_and_acc_24xn_s16_u8()
1.894 + {
1.895 + //int16_t * i1_24xn, int is1, const int16_t * s1_24xn, int ss1, const uint8_t * s2_24xn, int ss2, int n
1.896 + int16_t input1[SIZE*24];
1.897 + uint8_t input2[SIZE*24];
1.898 + int16_t output[SIZE*24];
1.899 + 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};
1.900 + int i = 0;
1.901 +
1.902 + for(i=0; i<SIZE*24; i++)
1.903 + {
1.904 + input1[i] = i+1;
1.905 + input2[i] = i+2;
1.906 +
1.907 + output[i] = 0;
1.908 + }
1.909 +
1.910 + oil_multiply_and_acc_24xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE);
1.911 +
1.912 + for(i = 0; i < SIZE*24; i++)
1.913 + {
1.914 + if(output[i] != linux_output[i])
1.915 + {
1.916 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.917 + assert_failed = 1;
1.918 + }
1.919 + }
1.920 + }
1.921 +
1.922 +void test_oil_multiply_and_acc_6xn_s16_u8()
1.923 + {
1.924 + //int16_t * i1_6xn, int is1, const int16_t * s1_6xn, int ss1, const uint8_t * s2_6xn, int ss2, int n
1.925 + int16_t input1[SIZE*6];
1.926 + uint8_t input2[SIZE*6];
1.927 + int16_t output[SIZE*6];
1.928 + 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};
1.929 + int i = 0;
1.930 +
1.931 + for(i=0; i<SIZE*6; i++)
1.932 + {
1.933 + input1[i] = i+1;
1.934 + input2[i] = i+2;
1.935 +
1.936 + output[i] = 0;
1.937 + }
1.938 +
1.939 + oil_multiply_and_acc_6xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE);
1.940 +
1.941 + for(i = 0; i < SIZE*6; i++)
1.942 + {
1.943 + if(output[i] != linux_output[i])
1.944 + {
1.945 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.946 + assert_failed = 1;
1.947 + }
1.948 + }
1.949 + }
1.950 +
1.951 +void test_oil_multiply_and_acc_8xn_s16_u8()
1.952 + {
1.953 + //int16_t * i1_8xn, int is1, const int16_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, int n
1.954 + int16_t input1[SIZE*8];
1.955 + uint8_t input2[SIZE*8];
1.956 + int16_t output[SIZE*8];
1.957 + 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};
1.958 + int i = 0;
1.959 +
1.960 + for(i=0; i<SIZE*8; i++)
1.961 + {
1.962 + input1[i] = i+1;
1.963 + input2[i] = i+2;
1.964 +
1.965 + output[i] = 0;
1.966 + }
1.967 +
1.968 + oil_multiply_and_acc_8xn_s16_u8(output, 1, input1, 2, input2, 3, SIZE);
1.969 +
1.970 + for(i = 0; i < SIZE*8; i++)
1.971 + {
1.972 + if(output[i] != linux_output[i])
1.973 + {
1.974 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.975 + assert_failed = 1;
1.976 + }
1.977 + }
1.978 +
1.979 + }
1.980 +
1.981 +void test_oil_multiply_and_add_s16()
1.982 + {
1.983 + //int16_t * d, const int16_t * src1, const int16_t * src2, const int16_t * src3, int n
1.984 + int16_t output[SIZE];
1.985 + int16_t input1[SIZE];
1.986 + int16_t input2[SIZE];
1.987 + int16_t input3[SIZE];
1.988 + int16_t linux_output[] = {7,14,23,34,47,62,79,98,119,142,167,194,223,254,287,322,359,398,439,482};
1.989 + int i = 0;
1.990 +
1.991 + for(i=0; i<SIZE; i++)
1.992 + {
1.993 + input1[i] = i+1;
1.994 + input2[i] = i+2;
1.995 + input3[i] = i+3;
1.996 +
1.997 + output[i] = 0;
1.998 + }
1.999 +
1.1000 + oil_multiply_and_add_s16(output, input1, input2, input3, SIZE);
1.1001 +
1.1002 + for(i = 0; i < SIZE; i++)
1.1003 + {
1.1004 + if(output[i] != linux_output[i])
1.1005 + {
1.1006 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1007 + assert_failed = 1;
1.1008 + }
1.1009 + }
1.1010 + }
1.1011 +
1.1012 +void test_oil_multiply_and_add_s16_u8()
1.1013 + {
1.1014 + //int16_t * d, const int16_t * src1, const int16_t * src2, const uint8_t * src3, int n
1.1015 + int16_t output[SIZE];
1.1016 + int16_t input1[SIZE];
1.1017 + int16_t input2[SIZE];
1.1018 + uint8_t input3[SIZE];
1.1019 + int16_t linux_output[] = {7,14,23,34,47,62,79,98,119,142,167,194,223,254,287,322,359,398,439,482};
1.1020 + int i = 0;
1.1021 +
1.1022 + for(i=0; i<SIZE; i++)
1.1023 + {
1.1024 + input1[i] = i+1;
1.1025 + input2[i] = i+2;
1.1026 + input3[i] = i+3;
1.1027 +
1.1028 + output[i] = 0;
1.1029 + }
1.1030 +
1.1031 + oil_multiply_and_add_s16_u8(output, input1, input2, input3, SIZE);
1.1032 +
1.1033 + for(i = 0; i < SIZE; i++)
1.1034 + {
1.1035 + if(output[i] != linux_output[i])
1.1036 + {
1.1037 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1038 + assert_failed = 1;
1.1039 + }
1.1040 + }
1.1041 + }
1.1042 +
1.1043 +void test_oil_split_135()
1.1044 + {
1.1045 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1046 + int16_t output[SIZE*2];
1.1047 + int16_t input1[SIZE*2];
1.1048 + 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};
1.1049 + int i = 0;
1.1050 +
1.1051 + for(i=0; i<SIZE*2; i++)
1.1052 + {
1.1053 + input1[i] = i+1;
1.1054 + output[i] = 0;
1.1055 + }
1.1056 +
1.1057 + oil_split_135(output, input1, SIZE);
1.1058 +
1.1059 + for(i = 0; i < SIZE*2; i++)
1.1060 + {
1.1061 + if(output[i] != linux_output[i])
1.1062 + {
1.1063 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1064 + assert_failed = 1;
1.1065 + }
1.1066 + }
1.1067 + }
1.1068 +
1.1069 +void test_oil_split_53()
1.1070 + {
1.1071 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1072 + int16_t output[SIZE*2];
1.1073 + int16_t input1[SIZE*2];
1.1074 + 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};
1.1075 + int i = 0;
1.1076 +
1.1077 + for(i=0; i<SIZE*2; i++)
1.1078 + {
1.1079 + input1[i] = i+1;
1.1080 + output[i] = 0;
1.1081 + }
1.1082 +
1.1083 + oil_split_53(output, input1, SIZE);
1.1084 +
1.1085 + for(i = 0; i < SIZE*2; i++)
1.1086 + {
1.1087 + if(output[i] != linux_output[i])
1.1088 + {
1.1089 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1090 + assert_failed = 1;
1.1091 + }
1.1092 + }
1.1093 + }
1.1094 +
1.1095 +void test_oil_split_approx97()
1.1096 + {
1.1097 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1098 + int16_t output[SIZE*2];
1.1099 + int16_t input1[SIZE*2];
1.1100 + 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};
1.1101 + int i = 0;
1.1102 +
1.1103 + for(i=0; i<SIZE*2; i++)
1.1104 + {
1.1105 + input1[i] = i+1;
1.1106 + output[i] = 0;
1.1107 + }
1.1108 +
1.1109 + oil_split_approx97(output, input1, SIZE);
1.1110 +
1.1111 + for(i = 0; i < SIZE*2; i++)
1.1112 + {
1.1113 + if(output[i] != linux_output[i])
1.1114 + {
1.1115 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1116 + assert_failed = 1;
1.1117 + }
1.1118 + }
1.1119 + }
1.1120 +
1.1121 +void test_oil_split_daub97()
1.1122 + {
1.1123 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1124 + int16_t output[SIZE*2];
1.1125 + int16_t input1[SIZE*2];
1.1126 + 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};
1.1127 + int i = 0;
1.1128 +
1.1129 + for(i=0; i<SIZE*2; i++)
1.1130 + {
1.1131 + input1[i] = i+1;
1.1132 + output[i] = 0;
1.1133 + }
1.1134 +
1.1135 + oil_split_daub97(output, input1, SIZE);
1.1136 +
1.1137 + for(i = 0; i < SIZE*2; i++)
1.1138 + {
1.1139 + if(output[i] != linux_output[i])
1.1140 + {
1.1141 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1142 + assert_failed = 1;
1.1143 + }
1.1144 + }
1.1145 + }
1.1146 +
1.1147 +void test_oil_synth_135()
1.1148 + {
1.1149 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1150 + int16_t output[SIZE*2];
1.1151 + int16_t input1[SIZE*2];
1.1152 + 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};
1.1153 + int i = 0;
1.1154 +
1.1155 + for(i=0; i<SIZE*2; i++)
1.1156 + {
1.1157 + input1[i] = i+1;
1.1158 + output[i] = 0;
1.1159 + }
1.1160 +
1.1161 + oil_synth_135(output, input1, SIZE);
1.1162 +
1.1163 + for(i = 0; i < SIZE*2; i++)
1.1164 + {
1.1165 + if(output[i] != linux_output[i])
1.1166 + {
1.1167 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1168 + assert_failed = 1;
1.1169 + }
1.1170 + }
1.1171 + }
1.1172 +
1.1173 +void test_oil_synth_53()
1.1174 + {
1.1175 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1176 + int16_t output[SIZE*2];
1.1177 + int16_t input1[SIZE*2];
1.1178 + 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};
1.1179 + int i = 0;
1.1180 +
1.1181 + for(i=0; i<SIZE*2; i++)
1.1182 + {
1.1183 + input1[i] = i+1;
1.1184 + output[i] = 0;
1.1185 + }
1.1186 +
1.1187 + oil_synth_53(output, input1, SIZE);
1.1188 +
1.1189 + for(i = 0; i < SIZE*2; i++)
1.1190 + {
1.1191 + if(output[i] != linux_output[i])
1.1192 + {
1.1193 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1194 + assert_failed = 1;
1.1195 + }
1.1196 + }
1.1197 + }
1.1198 +
1.1199 +void test_oil_synth_approx97()
1.1200 + {
1.1201 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1202 + int16_t output[SIZE*2];
1.1203 + int16_t input1[SIZE*2];
1.1204 + 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};
1.1205 + int i = 0;
1.1206 +
1.1207 + for(i=0; i<SIZE*2; i++)
1.1208 + {
1.1209 + input1[i] = i+1;
1.1210 + output[i] = 0;
1.1211 + }
1.1212 +
1.1213 + oil_synth_approx97(output, input1, SIZE);
1.1214 +
1.1215 + for(i = 0; i < SIZE*2; i++)
1.1216 + {
1.1217 + if(output[i] != linux_output[i])
1.1218 + {
1.1219 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1220 + assert_failed = 1;
1.1221 + }
1.1222 + }
1.1223 + }
1.1224 +
1.1225 +void test_oil_synth_daub97()
1.1226 + {
1.1227 + //int16_t * d_2xn, const int16_t * s_2xn, int n
1.1228 + int16_t output[SIZE*2];
1.1229 + int16_t input1[SIZE*2];
1.1230 + 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};
1.1231 + int i = 0;
1.1232 +
1.1233 + for(i=0; i<SIZE*2; i++)
1.1234 + {
1.1235 + input1[i] = i+1;
1.1236 + output[i] = 0;
1.1237 + }
1.1238 +
1.1239 + oil_synth_daub97(output, input1, SIZE);
1.1240 +
1.1241 + for(i = 0; i < SIZE*2; i++)
1.1242 + {
1.1243 + if(output[i] != linux_output[i])
1.1244 + {
1.1245 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.1246 + assert_failed = 1;
1.1247 + }
1.1248 + }
1.1249 + }
1.1250 +
1.1251 +int main (int argc, char *argv[])
1.1252 + {
1.1253 + oil_init();
1.1254 +
1.1255 + std_log(LOG_FILENAME_LINE,"START oil_add2_rshift_add_s16 TEST");
1.1256 + test_oil_add2_rshift_add_s16();
1.1257 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1258 +
1.1259 + std_log(LOG_FILENAME_LINE,"START oil_add2_rshift_sub_s16 TEST");
1.1260 + test_oil_add2_rshift_sub_s16();
1.1261 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1262 +
1.1263 + std_log(LOG_FILENAME_LINE,"START oil_add_const_rshift_s16 TEST");
1.1264 + test_oil_add_const_rshift_s16();
1.1265 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1266 +
1.1267 + std_log(LOG_FILENAME_LINE,"START oil_avg2_12xn_u8 TEST");
1.1268 + test_oil_avg2_12xn_u8();
1.1269 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1270 +
1.1271 + std_log(LOG_FILENAME_LINE,"START oil_avg2_16xn_u8 TEST");
1.1272 + test_oil_avg2_16xn_u8();
1.1273 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1274 +
1.1275 + std_log(LOG_FILENAME_LINE,"START oil_avg2_8xn_u8 TEST");
1.1276 + test_oil_avg2_8xn_u8();
1.1277 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1278 +
1.1279 + std_log(LOG_FILENAME_LINE,"START oil_combine2_12xn_u8 TEST");
1.1280 + test_oil_combine2_12xn_u8();
1.1281 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1282 +
1.1283 + std_log(LOG_FILENAME_LINE,"START oil_combine2_16xn_u8 TEST");
1.1284 + test_oil_combine2_16xn_u8();
1.1285 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1286 +
1.1287 + std_log(LOG_FILENAME_LINE,"START oil_combine2_8xn_u8 TEST");
1.1288 + test_oil_combine2_8xn_u8();
1.1289 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1290 +
1.1291 + std_log(LOG_FILENAME_LINE,"START oil_combine4_12xn_u8 TEST");
1.1292 + test_oil_combine4_12xn_u8(); //case fails...getting diff result than linux one.
1.1293 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1294 +
1.1295 + std_log(LOG_FILENAME_LINE,"START oil_combine4_16xn_u8 TEST");
1.1296 + test_oil_combine4_16xn_u8(); //case fails...getting diff result than linux one.
1.1297 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1298 +
1.1299 + std_log(LOG_FILENAME_LINE,"START oil_combine4_8xn_u8 TEST");
1.1300 + test_oil_combine4_8xn_u8(); //case fails...getting diff result than linux one.
1.1301 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1302 +
1.1303 + std_log(LOG_FILENAME_LINE,"START oil_deinterleave TEST");
1.1304 + test_oil_deinterleave();
1.1305 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1306 +
1.1307 + std_log(LOG_FILENAME_LINE,"START oil_deinterleave2_s16 TEST");
1.1308 + test_oil_deinterleave2_s16();
1.1309 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1310 +
1.1311 + std_log(LOG_FILENAME_LINE,"START oil_interleave TEST");
1.1312 + test_oil_interleave();
1.1313 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1314 +
1.1315 + std_log(LOG_FILENAME_LINE,"START oil_interleave2_s16 TEST");
1.1316 + test_oil_interleave2_s16();
1.1317 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1318 +
1.1319 + std_log(LOG_FILENAME_LINE,"START oil_lift_add_135 TEST");
1.1320 + test_oil_lift_add_135();
1.1321 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1322 +
1.1323 + std_log(LOG_FILENAME_LINE,"START oil_lift_add_mult_shift12 TEST");
1.1324 + test_oil_lift_add_mult_shift12();
1.1325 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1326 +
1.1327 + std_log(LOG_FILENAME_LINE,"START oil_lift_add_shift1 TEST");
1.1328 + test_oil_lift_add_shift1();
1.1329 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1330 +
1.1331 + std_log(LOG_FILENAME_LINE,"START oil_interleave2_s16 TEST");
1.1332 + test_oil_lift_add_shift2();
1.1333 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1334 +
1.1335 + std_log(LOG_FILENAME_LINE,"START oil_lift_sub_135 TEST");
1.1336 + test_oil_lift_sub_135();
1.1337 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1338 +
1.1339 + std_log(LOG_FILENAME_LINE,"START oil_lift_sub_mult_shift12 TEST");
1.1340 + test_oil_lift_sub_mult_shift12();
1.1341 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1342 +
1.1343 + std_log(LOG_FILENAME_LINE,"START oil_lift_sub_shift1 TEST");
1.1344 + test_oil_lift_sub_shift1();
1.1345 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1346 +
1.1347 + std_log(LOG_FILENAME_LINE,"START oil_lift_sub_shift2 TEST");
1.1348 + test_oil_lift_sub_shift2();
1.1349 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1350 +
1.1351 + std_log(LOG_FILENAME_LINE,"START oil_lshift_s16 TEST");
1.1352 + test_oil_lshift_s16();
1.1353 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1354 +
1.1355 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_12xn_s16_u8 TEST");
1.1356 + test_oil_multiply_and_acc_12xn_s16_u8();
1.1357 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1358 +
1.1359 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_16xn_s16_u8 TEST");
1.1360 + test_oil_multiply_and_acc_16xn_s16_u8();
1.1361 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1362 +
1.1363 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_24xn_s16_u8 TEST");
1.1364 + test_oil_multiply_and_acc_24xn_s16_u8();
1.1365 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1366 +
1.1367 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_6xn_s16_u8 TEST");
1.1368 + test_oil_multiply_and_acc_6xn_s16_u8();
1.1369 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1370 +
1.1371 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_acc_8xn_s16_u8 TEST");
1.1372 + test_oil_multiply_and_acc_8xn_s16_u8();
1.1373 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1374 +
1.1375 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_add_s16 TEST");
1.1376 + test_oil_multiply_and_add_s16();
1.1377 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1378 +
1.1379 + std_log(LOG_FILENAME_LINE,"START oil_multiply_and_add_s16_u8 TEST");
1.1380 + test_oil_multiply_and_add_s16_u8();
1.1381 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1382 +
1.1383 + std_log(LOG_FILENAME_LINE,"START oil_split_135 TEST");
1.1384 + test_oil_split_135();
1.1385 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1386 +
1.1387 + std_log(LOG_FILENAME_LINE,"START oil_split_53 TEST");
1.1388 + test_oil_split_53();
1.1389 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1390 +
1.1391 + std_log(LOG_FILENAME_LINE,"START oil_split_approx97 TEST");
1.1392 + test_oil_split_approx97();
1.1393 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1394 +
1.1395 + std_log(LOG_FILENAME_LINE,"START oil_split_daub97 TEST");
1.1396 + test_oil_split_daub97();
1.1397 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1398 +
1.1399 + std_log(LOG_FILENAME_LINE,"START oil_synth_135 TEST");
1.1400 + test_oil_synth_135();
1.1401 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1402 +
1.1403 + std_log(LOG_FILENAME_LINE,"START oil_synth_53 TEST");
1.1404 + test_oil_synth_53();
1.1405 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1406 +
1.1407 + std_log(LOG_FILENAME_LINE,"START oil_synth_approx97 TEST");
1.1408 + test_oil_synth_approx97();
1.1409 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1410 +
1.1411 + std_log(LOG_FILENAME_LINE,"START oil_synth_daub97 TEST");
1.1412 + test_oil_synth_daub97();
1.1413 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.1414 +
1.1415 + if(assert_failed)
1.1416 + std_log(LOG_FILENAME_LINE,"Test Failed");
1.1417 + else
1.1418 + std_log(LOG_FILENAME_LINE,"Test Successful");
1.1419 +
1.1420 + create_xml(0);
1.1421 +
1.1422 + return 0;
1.1423 + }
1.1424 +