1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericopenlibs/liboil/tsrc/testsuite/trans8x8/src/trans8x8.c Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,174 @@
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_trans8x8_log.txt"
1.30 +#include "std_log_result.h"
1.31 +#include "utils.h"
1.32 +#define LOG_FILENAME_LINE __FILE__, __LINE__
1.33 +
1.34 +#define SIZE 8*8
1.35 +
1.36 +void create_xml(int result)
1.37 +{
1.38 + if(result)
1.39 + assert_failed = 1;
1.40 +
1.41 + testResultXml("testsuite_trans8x8");
1.42 + close_log_file();
1.43 +}
1.44 +
1.45 +void test_oil_trans8x8_f64()
1.46 + {
1.47 + //double * d_8x8, int ds, const double * s_8x8, int ss
1.48 + double output[SIZE];
1.49 + double input[SIZE];
1.50 + double linux_output[SIZE] = {77.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,88.000000000000000,0.000000000000000,0.000000000000000,-2.000000000007314,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000};
1.51 + int i = 0;
1.52 +
1.53 + for(i=0; i<SIZE; i++)
1.54 + {
1.55 + output[i] = 0;
1.56 + input[i] = i+(i*10);
1.57 + }
1.58 +
1.59 + oil_trans8x8_f64(output, 0, input, 2);
1.60 +
1.61 + for(i=0; i<SIZE; i++)
1.62 + {
1.63 + if(comparefloats(output[i], linux_output[i]))
1.64 + {
1.65 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.66 + assert_failed = 1;
1.67 + }
1.68 + }
1.69 + }
1.70 +
1.71 +void test_oil_trans8x8_u16()
1.72 + {
1.73 + //uint16_t * d_8x8, int ds, const uint16_t * s_8x8, int ss
1.74 + uint16_t output[SIZE];
1.75 + uint16_t input[SIZE];
1.76 + uint16_t expected_output[SIZE] = {2816,5643,8470,11297,14124,16951,19778,22605,28259,33913,39567,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.77 + int i = 0;
1.78 +
1.79 + for(i=0; i<SIZE; i++)
1.80 + {
1.81 + output[i] = 0;
1.82 + input[i] = i+(i*10);
1.83 + }
1.84 +
1.85 + oil_trans8x8_u16(output, 1, input, 2);
1.86 +
1.87 + for(i=0; i<SIZE; i++)
1.88 + {
1.89 + if(output[i] != expected_output[i])
1.90 + {
1.91 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]);
1.92 + assert_failed = 1;
1.93 + }
1.94 + }
1.95 + }
1.96 +
1.97 +void test_oil_trans8x8_u32()
1.98 + {
1.99 + //uint32_t * d_8x8, int ds, const uint32_t * s_8x8, int ss
1.100 + uint32_t output[SIZE];
1.101 + uint32_t input[SIZE];
1.102 + uint32_t linux_output[SIZE] = {555092736,1296185132,0,1476417536,0,1660969728,0,1845521920,0,30976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.103 + int i = 0;
1.104 +
1.105 + for(i=0; i<SIZE; i++)
1.106 + {
1.107 + output[i] = 0;
1.108 + input[i] = i+(i*10);
1.109 + }
1.110 +
1.111 + oil_trans8x8_u32(output, 1, input, 2);
1.112 +
1.113 + for(i=0; i<SIZE; i++)
1.114 + {
1.115 + if(output[i] != linux_output[i])
1.116 + {
1.117 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.118 + assert_failed = 1;
1.119 + }
1.120 + }
1.121 + }
1.122 +
1.123 +void test_oil_trans8x8_u8()
1.124 + {
1.125 + //uint8_t * d_8x8, int ds, const uint8_t * s_8x8, int ss
1.126 + uint8_t output[SIZE];
1.127 + uint8_t input[SIZE];
1.128 + uint8_t linux_output[SIZE] = {0,11,22,33,44,55,66,77,99,121,143,165,187,209,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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.129 + int i = 0;
1.130 +
1.131 + for(i=0; i<SIZE; i++)
1.132 + {
1.133 + output[i] = 0;
1.134 + input[i] = i+(i*10);
1.135 + }
1.136 +
1.137 + oil_trans8x8_u8(output, 1, input, 2);
1.138 +
1.139 + for(i=0; i<SIZE; i++)
1.140 + {
1.141 + if(output[i] != linux_output[i])
1.142 + {
1.143 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.144 + assert_failed = 1;
1.145 + }
1.146 + }
1.147 + }
1.148 +
1.149 +int main (/*int argc, char *argv[]*/)
1.150 +{
1.151 + oil_init ();
1.152 +
1.153 + std_log(LOG_FILENAME_LINE,"START oil_trans8x8_u8 TEST");
1.154 + test_oil_trans8x8_u8();
1.155 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.156 +
1.157 + std_log(LOG_FILENAME_LINE,"START oil_trans8x8_u16 TEST");
1.158 + test_oil_trans8x8_u16(); // getting diff result than linux
1.159 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.160 +
1.161 + std_log(LOG_FILENAME_LINE,"START oil_trans8x8_u32 TEST");
1.162 + test_oil_trans8x8_u32();
1.163 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.164 +
1.165 + std_log(LOG_FILENAME_LINE,"START oil_trans8x8_f64 TEST");
1.166 + test_oil_trans8x8_f64();
1.167 + std_log(LOG_FILENAME_LINE,"END TEST\n");
1.168 +
1.169 + if(assert_failed)
1.170 + std_log(LOG_FILENAME_LINE,"Test Failed");
1.171 + else
1.172 + std_log(LOG_FILENAME_LINE,"Test Successful");
1.173 +
1.174 + create_xml(0);
1.175 + return 0;
1.176 +}
1.177 +