os/ossrv/genericopenlibs/liboil/tsrc/testsuite/mas/src/mas.c
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: 
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
#include <liboil/liboil.h>
sl@0
    20
#include <liboil/liboilfunction.h>
sl@0
    21
#include <stdio.h>
sl@0
    22
#include <stdlib.h>
sl@0
    23
sl@0
    24
#include <liboil/globals.h>
sl@0
    25
sl@0
    26
#define LOG_FILE "c:\\logs\\testsuite_mas_log.txt"
sl@0
    27
#include "std_log_result.h"
sl@0
    28
#define LOG_FILENAME_LINE __FILE__, __LINE__
sl@0
    29
sl@0
    30
#define SIZE    20
sl@0
    31
sl@0
    32
void create_xml(int result)
sl@0
    33
{
sl@0
    34
    if(result)
sl@0
    35
        assert_failed = 1;
sl@0
    36
    
sl@0
    37
    testResultXml("testsuite_mas");
sl@0
    38
    close_log_file();
sl@0
    39
}
sl@0
    40
sl@0
    41
void test_oil_mas10_u8()
sl@0
    42
    {
sl@0
    43
    uint8_t input1[2*SIZE];
sl@0
    44
    int16_t input2[SIZE/2];
sl@0
    45
    int16_t input3[SIZE/10];
sl@0
    46
    uint8_t output[SIZE];
sl@0
    47
    uint8_t linux_output[] = {17,20,23,26,29,31,34,37,40,43,45,48,51,54,57,60,62,65,68,71};
sl@0
    48
    int i,j;
sl@0
    49
    
sl@0
    50
    for(i = 0; i < SIZE; i++)
sl@0
    51
        {
sl@0
    52
        input1[i] = i;
sl@0
    53
        if(i < SIZE/2)
sl@0
    54
            input2[i] = i*2;
sl@0
    55
        if(i < SIZE/10)
sl@0
    56
            input3[i] = i*5;
sl@0
    57
        }
sl@0
    58
    
sl@0
    59
    for(j = SIZE; j < 2*SIZE; j++)
sl@0
    60
        input1[j] = j;
sl@0
    61
    
sl@0
    62
    oil_mas10_u8(output, input1, input2, input3, SIZE);
sl@0
    63
    
sl@0
    64
    for(i = 0; i < SIZE; i++)
sl@0
    65
        {
sl@0
    66
        if(output[i] != linux_output[i])
sl@0
    67
            {
sl@0
    68
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
    69
            assert_failed = 1;
sl@0
    70
            }
sl@0
    71
        }
sl@0
    72
    }
sl@0
    73
sl@0
    74
void test_oil_mas10_u8_l15()
sl@0
    75
    {
sl@0
    76
    uint8_t input1[2*SIZE];
sl@0
    77
    int16_t input2[SIZE/2];
sl@0
    78
    int16_t input3[SIZE/10];
sl@0
    79
    uint8_t output[SIZE];
sl@0
    80
    uint8_t linux_output[] = {17,20,23,26,29,31,34,37,40,43,45,48,51,54,57,60,62,65,68,71};
sl@0
    81
    int i,j;
sl@0
    82
    
sl@0
    83
    for(i = 0; i < SIZE; i++)
sl@0
    84
        {
sl@0
    85
        input1[i] = i;
sl@0
    86
        if(i < SIZE/2)
sl@0
    87
            input2[i] = i*2;
sl@0
    88
        if(i < SIZE/10)
sl@0
    89
            input3[i] = i*5;
sl@0
    90
        }
sl@0
    91
    
sl@0
    92
    for(j = SIZE; j < 2*SIZE; j++)
sl@0
    93
        input1[j] = j;
sl@0
    94
    
sl@0
    95
    oil_mas10_u8_l15(output, input1, input2, input3, SIZE);
sl@0
    96
    
sl@0
    97
    for(i = 0; i < SIZE; i++)
sl@0
    98
        {
sl@0
    99
        if(output[i] != linux_output[i])
sl@0
   100
            {
sl@0
   101
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   102
            assert_failed = 1;
sl@0
   103
            }
sl@0
   104
        }
sl@0
   105
    }
sl@0
   106
sl@0
   107
void test_oil_mas10_u8_sym_l15()
sl@0
   108
    {
sl@0
   109
    uint8_t input1[2*SIZE];
sl@0
   110
    int16_t input2[SIZE/2];
sl@0
   111
    int16_t input3[SIZE/10];
sl@0
   112
    uint8_t output[SIZE];
sl@0
   113
    uint8_t linux_output[] = {17,20,23,26,29,31,34,37,40,43,45,48,51,54,57,60,62,65,68,71};
sl@0
   114
    int i,j;
sl@0
   115
    
sl@0
   116
    for(i = 0; i < SIZE; i++)
sl@0
   117
        {
sl@0
   118
        input1[i] = i;
sl@0
   119
        if(i < SIZE/2)
sl@0
   120
            input2[i] = i*2;
sl@0
   121
        if(i < SIZE/10)
sl@0
   122
            input3[i] = i*5;
sl@0
   123
        }
sl@0
   124
    
sl@0
   125
    for(j = SIZE; j < 2*SIZE; j++)
sl@0
   126
        input1[j] = j;
sl@0
   127
    
sl@0
   128
    oil_mas10_u8_sym_l15(output, input1, input2, input3, SIZE);
sl@0
   129
    
sl@0
   130
    for(i = 0; i < SIZE; i++)
sl@0
   131
        {
sl@0
   132
        if(output[i] != linux_output[i])
sl@0
   133
            {
sl@0
   134
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   135
            assert_failed = 1;
sl@0
   136
            }
sl@0
   137
        }
sl@0
   138
    }
sl@0
   139
sl@0
   140
void test_oil_mas12_addc_rshift_decim2_u8()
sl@0
   141
    {
sl@0
   142
    uint8_t input[2*SIZE + 12];
sl@0
   143
    int16_t taps[12];
sl@0
   144
    int16_t offsetshift[2];
sl@0
   145
    uint8_t output[SIZE];
sl@0
   146
    uint8_t linux_output[] = {31,39,48,56,64,72,81,89,97,105,114,122,130,138,147,155,163,171,180,188};
sl@0
   147
    int i,j;
sl@0
   148
    
sl@0
   149
    for(i = 0; i < SIZE; i++)
sl@0
   150
        {
sl@0
   151
        input[i] = i;
sl@0
   152
        if(i < 12)
sl@0
   153
            taps[i] = i*2;
sl@0
   154
        if(i < 2)
sl@0
   155
            offsetshift[i] = i*5;
sl@0
   156
        }
sl@0
   157
    
sl@0
   158
    for(j = SIZE; j < 52; j++)
sl@0
   159
        input[j] = j;
sl@0
   160
    
sl@0
   161
    oil_mas12_addc_rshift_decim2_u8(output, input, taps, offsetshift, SIZE);
sl@0
   162
    
sl@0
   163
    for(i = 0; i < SIZE; i++)
sl@0
   164
        {
sl@0
   165
        if(output[i] != linux_output[i])
sl@0
   166
            {
sl@0
   167
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   168
            assert_failed = 1;
sl@0
   169
            }
sl@0
   170
        }
sl@0
   171
    }
sl@0
   172
sl@0
   173
void test_oil_mas2_across_add_s16()
sl@0
   174
    {
sl@0
   175
    int16_t input1[SIZE];
sl@0
   176
    int16_t input2[SIZE];
sl@0
   177
    int16_t input3[SIZE];
sl@0
   178
    int16_t input4[2];
sl@0
   179
    int16_t input5[2];
sl@0
   180
    int16_t output[SIZE];
sl@0
   181
    uint8_t linux_output[] = {3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22};
sl@0
   182
    int i;
sl@0
   183
    
sl@0
   184
    for(i = 0; i < SIZE; i++)
sl@0
   185
        {
sl@0
   186
        input1[i] = i+3;
sl@0
   187
        input2[i] = i*2;
sl@0
   188
        input3[i] = i*5;
sl@0
   189
        
sl@0
   190
        if(i < 2)
sl@0
   191
            {
sl@0
   192
            input4[i] = i+10;
sl@0
   193
            input5[i] = i+20;
sl@0
   194
            }
sl@0
   195
        }
sl@0
   196
    
sl@0
   197
    oil_mas2_across_add_s16(output, input1, input2, input3, input4, input5, SIZE);
sl@0
   198
    
sl@0
   199
    for(i = 0; i < SIZE; i++)
sl@0
   200
        {
sl@0
   201
        if(output[i] != linux_output[i])
sl@0
   202
            {
sl@0
   203
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   204
            assert_failed = 1;
sl@0
   205
            }
sl@0
   206
        }
sl@0
   207
    }
sl@0
   208
sl@0
   209
void test_oil_mas2_add_s16()
sl@0
   210
    {
sl@0
   211
    int16_t input1[SIZE];
sl@0
   212
    int16_t input2[SIZE+1];
sl@0
   213
    int16_t input3[2];
sl@0
   214
    int16_t input4[2];
sl@0
   215
    int16_t output[SIZE];
sl@0
   216
    int16_t linux_output[] = {3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22};
sl@0
   217
    int i;
sl@0
   218
    
sl@0
   219
    for(i = 0; i <= SIZE; i++)
sl@0
   220
        {
sl@0
   221
        input2[i] = i*2;
sl@0
   222
         
sl@0
   223
        if(i < SIZE)
sl@0
   224
            {
sl@0
   225
            input1[i] = i+3;
sl@0
   226
            }
sl@0
   227
        
sl@0
   228
        if(i < 2)
sl@0
   229
            {
sl@0
   230
            input3[i] = i*5;
sl@0
   231
            input4[i] = i+10;
sl@0
   232
            }
sl@0
   233
        }
sl@0
   234
    
sl@0
   235
    oil_mas2_add_s16(output, input1, input2, input3, input4, SIZE);
sl@0
   236
    
sl@0
   237
    for(i = 0; i < SIZE; i++)
sl@0
   238
        {
sl@0
   239
        if(output[i] != linux_output[i])
sl@0
   240
            {
sl@0
   241
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   242
            assert_failed = 1;
sl@0
   243
            }
sl@0
   244
        }
sl@0
   245
    }
sl@0
   246
sl@0
   247
void test_oil_mas4_across_add_s16()
sl@0
   248
    {
sl@0
   249
    int16_t input1[SIZE];
sl@0
   250
    int16_t input2[100];
sl@0
   251
    int16_t input3[4];
sl@0
   252
    int16_t input4[2];
sl@0
   253
    int16_t output[SIZE];
sl@0
   254
    int16_t linux_output[] = {19,23,26,30,33,37,40,44,47,51,54,58,61,65,68,72,75,79,82,86};
sl@0
   255
    int i;
sl@0
   256
    
sl@0
   257
    for(i = 0; i < 100; i++)
sl@0
   258
        {
sl@0
   259
        input2[i] = i;
sl@0
   260
         
sl@0
   261
        if(i < SIZE)
sl@0
   262
            {
sl@0
   263
            input1[i] = i+3;
sl@0
   264
            }
sl@0
   265
        
sl@0
   266
        if(i < 4)
sl@0
   267
            {
sl@0
   268
            input3[i] = i*5;
sl@0
   269
            }
sl@0
   270
        
sl@0
   271
        if(i < 2)
sl@0
   272
            {
sl@0
   273
            input4[i] = i+10;
sl@0
   274
            }
sl@0
   275
        }
sl@0
   276
    
sl@0
   277
    oil_mas4_across_add_s16(output, input1, input2, 5, input3, input4, SIZE);
sl@0
   278
    
sl@0
   279
    for(i = 0; i < SIZE; i++)
sl@0
   280
        {
sl@0
   281
        if(output[i] != linux_output[i])
sl@0
   282
            {
sl@0
   283
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   284
            assert_failed = 1;
sl@0
   285
            }
sl@0
   286
        }
sl@0
   287
    }
sl@0
   288
sl@0
   289
void test_oil_mas4_add_s16()
sl@0
   290
    {
sl@0
   291
    int16_t input1[SIZE];
sl@0
   292
    int16_t input2[SIZE+3];
sl@0
   293
    int16_t input3[4];
sl@0
   294
    int16_t input4[2];
sl@0
   295
    int16_t output[SIZE];
sl@0
   296
    int16_t linux_output[] = {3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22};
sl@0
   297
    int i;
sl@0
   298
    
sl@0
   299
    for(i = 0; i < SIZE+3; i++)
sl@0
   300
        {
sl@0
   301
        input2[i] = i;
sl@0
   302
         
sl@0
   303
        if(i < SIZE)
sl@0
   304
            {
sl@0
   305
            input1[i] = i+3;
sl@0
   306
            }
sl@0
   307
        
sl@0
   308
        if(i < 4)
sl@0
   309
            {
sl@0
   310
            input3[i] = i*5;
sl@0
   311
            }
sl@0
   312
        
sl@0
   313
        if(i < 2)
sl@0
   314
            {
sl@0
   315
            input4[i] = i+10;
sl@0
   316
            }
sl@0
   317
        }
sl@0
   318
    
sl@0
   319
    oil_mas4_add_s16(output, input1, input2, input3, input4, SIZE);
sl@0
   320
    
sl@0
   321
    for(i = 0; i < SIZE; i++)
sl@0
   322
        {
sl@0
   323
        if(output[i] != linux_output[i])
sl@0
   324
            {
sl@0
   325
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   326
            assert_failed = 1;
sl@0
   327
            }
sl@0
   328
        }
sl@0
   329
    }
sl@0
   330
sl@0
   331
void test_oil_mas8_across_add_s16()
sl@0
   332
    {
sl@0
   333
    int16_t input1[SIZE];
sl@0
   334
    int16_t input2[SIZE*8];
sl@0
   335
    int16_t input3[8];
sl@0
   336
    int16_t input4[2];
sl@0
   337
    int16_t output[SIZE];
sl@0
   338
    int16_t linux_output[] = {139,150,161,172,183,194,205,216,227,238,249,260,271,282,294,305,316,327,338,349};
sl@0
   339
    int i;
sl@0
   340
    
sl@0
   341
    for(i = 0; i < SIZE*8; i++)
sl@0
   342
        {
sl@0
   343
        input2[i] = i;
sl@0
   344
         
sl@0
   345
        if(i < SIZE)
sl@0
   346
            {
sl@0
   347
            input1[i] = i+3;
sl@0
   348
            }
sl@0
   349
        
sl@0
   350
        if(i < 8)
sl@0
   351
            {
sl@0
   352
            input3[i] = i*5;
sl@0
   353
            }
sl@0
   354
        
sl@0
   355
        if(i < 2)
sl@0
   356
            {
sl@0
   357
            input4[i] = i+10;
sl@0
   358
            }
sl@0
   359
        }
sl@0
   360
    
sl@0
   361
    oil_mas8_across_add_s16(output, input1, input2, 5, input3, input4, SIZE);
sl@0
   362
    
sl@0
   363
    for(i = 0; i < SIZE; i++)
sl@0
   364
        {
sl@0
   365
        if(output[i] != linux_output[i])
sl@0
   366
            {
sl@0
   367
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   368
            assert_failed = 1;
sl@0
   369
            }
sl@0
   370
        }
sl@0
   371
    }
sl@0
   372
sl@0
   373
void test_oil_mas8_across_u8()
sl@0
   374
    {
sl@0
   375
    uint8_t input1[SIZE*8];
sl@0
   376
    int16_t input2[8];
sl@0
   377
    int16_t input3[2];
sl@0
   378
    uint8_t output[SIZE];
sl@0
   379
    int16_t linux_output[] = {35,36,38,39,41,43,44,46,48,49,51,52,54,56,57,59,61,62,64,65};
sl@0
   380
    int i;
sl@0
   381
    
sl@0
   382
    for(i = 0; i < SIZE*8; i++)
sl@0
   383
        {
sl@0
   384
        input1[i] = i;
sl@0
   385
         
sl@0
   386
        if(i < 8)
sl@0
   387
            {
sl@0
   388
            input2[i] = i+3;
sl@0
   389
            }
sl@0
   390
        
sl@0
   391
        if(i < 2)
sl@0
   392
            {
sl@0
   393
            input3[i] = i*5;
sl@0
   394
            }
sl@0
   395
        }
sl@0
   396
    
sl@0
   397
    oil_mas8_across_u8(output, input1, 5, input2, input3, SIZE);
sl@0
   398
    
sl@0
   399
    for(i = 0; i < SIZE; i++)
sl@0
   400
        {
sl@0
   401
        if(output[i] != linux_output[i])
sl@0
   402
            {
sl@0
   403
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   404
            assert_failed = 1;
sl@0
   405
            }
sl@0
   406
        }
sl@0
   407
    }
sl@0
   408
sl@0
   409
void test_oil_mas8_add_s16()
sl@0
   410
    {
sl@0
   411
    int16_t input1[SIZE];
sl@0
   412
    int16_t input2[SIZE+7];
sl@0
   413
    int16_t input3[8];
sl@0
   414
    int16_t input4[2];
sl@0
   415
    int16_t output[SIZE];
sl@0
   416
    int16_t linux_output[] = {3,4,5,7,8,9,10,11,12,13,15,16,17,18,19,20,21,23,24,25};
sl@0
   417
    int i;
sl@0
   418
    
sl@0
   419
    for(i = 0; i < SIZE+7; i++)
sl@0
   420
        {
sl@0
   421
        input2[i] = i;
sl@0
   422
         
sl@0
   423
        if(i < SIZE)
sl@0
   424
            {
sl@0
   425
            input1[i] = i+3;
sl@0
   426
            }
sl@0
   427
        
sl@0
   428
        if(i < 8)
sl@0
   429
            {
sl@0
   430
            input3[i] = i*5;
sl@0
   431
            }
sl@0
   432
        
sl@0
   433
        if(i < 2)
sl@0
   434
            {
sl@0
   435
            input4[i] = i*10;
sl@0
   436
            }
sl@0
   437
        }
sl@0
   438
    
sl@0
   439
    oil_mas8_add_s16(output, input1, input2, input3, input4, SIZE);
sl@0
   440
    
sl@0
   441
    for(i = 0; i < SIZE; i++)
sl@0
   442
        {
sl@0
   443
        if(output[i] != linux_output[i])
sl@0
   444
            {
sl@0
   445
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   446
            assert_failed = 1;
sl@0
   447
            }
sl@0
   448
        }
sl@0
   449
    }
sl@0
   450
sl@0
   451
void test_oil_mas8_addc_rshift_decim2_u8()
sl@0
   452
    {
sl@0
   453
    uint8_t input1[2*(SIZE+9)];
sl@0
   454
    int16_t taps[8];
sl@0
   455
    int16_t offsetshift[2];
sl@0
   456
    uint8_t output[SIZE];
sl@0
   457
    int16_t linux_output[] = {7,10,13,16,20,23,26,29,33,36,39,42,46,49,52,55,59,62,65,68};
sl@0
   458
    int i;
sl@0
   459
    
sl@0
   460
    for(i = 0; i < 2*(SIZE+9); i++)
sl@0
   461
        {
sl@0
   462
        input1[i] = i;
sl@0
   463
         
sl@0
   464
        if(i < 8)
sl@0
   465
            {
sl@0
   466
            taps[i] = i+3;
sl@0
   467
            }
sl@0
   468
        
sl@0
   469
        if(i < 2)
sl@0
   470
            {
sl@0
   471
            offsetshift[i] = i*5;
sl@0
   472
            }
sl@0
   473
        }
sl@0
   474
    
sl@0
   475
    oil_mas8_addc_rshift_decim2_u8(output, input1, taps, offsetshift, SIZE);
sl@0
   476
    
sl@0
   477
    for(i = 0; i < SIZE; i++)
sl@0
   478
        {
sl@0
   479
        if(output[i] != linux_output[i])
sl@0
   480
            {
sl@0
   481
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   482
            assert_failed = 1;
sl@0
   483
            }
sl@0
   484
        }
sl@0
   485
    
sl@0
   486
    }
sl@0
   487
sl@0
   488
void test_oil_mas8_u8()
sl@0
   489
    {
sl@0
   490
    uint8_t input1[SIZE+7];
sl@0
   491
    int16_t input2[8];
sl@0
   492
    int16_t input3[2];
sl@0
   493
    uint8_t output[SIZE];
sl@0
   494
    int16_t linux_output[] = {7,8,10,11,13,15,16,18,20,21,23,24,26,28,29,31,33,34,36,37};
sl@0
   495
    int i;
sl@0
   496
    
sl@0
   497
    for(i = 0; i < SIZE+7; i++)
sl@0
   498
        {
sl@0
   499
        input1[i] = i;
sl@0
   500
         
sl@0
   501
        if(i < 8)
sl@0
   502
            {
sl@0
   503
            input2[i] = i+3;
sl@0
   504
            }
sl@0
   505
        
sl@0
   506
        if(i < 2)
sl@0
   507
            {
sl@0
   508
            input3[i] = i*5;
sl@0
   509
            }
sl@0
   510
        }
sl@0
   511
    
sl@0
   512
    oil_mas8_u8(output, input1, input2, input3, SIZE);
sl@0
   513
    
sl@0
   514
    for(i = 0; i < SIZE; i++)
sl@0
   515
        {
sl@0
   516
        if(output[i] != linux_output[i])
sl@0
   517
            {
sl@0
   518
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   519
            assert_failed = 1;
sl@0
   520
            }
sl@0
   521
        }
sl@0
   522
    }
sl@0
   523
sl@0
   524
void test_oil_mas8_u8_l15()
sl@0
   525
    {
sl@0
   526
    uint8_t input1[SIZE+7];
sl@0
   527
    int16_t input2[8];
sl@0
   528
    int16_t input3[2];
sl@0
   529
    uint8_t output[SIZE];
sl@0
   530
    int16_t linux_output[] = {7,8,10,11,13,15,16,18,20,21,23,24,26,28,29,31,33,34,36,37};
sl@0
   531
    int i;
sl@0
   532
    
sl@0
   533
    for(i = 0; i < SIZE+7; i++)
sl@0
   534
        {
sl@0
   535
        input1[i] = i;
sl@0
   536
         
sl@0
   537
        if(i < 8)
sl@0
   538
            {
sl@0
   539
            input2[i] = i+3;
sl@0
   540
            }
sl@0
   541
        
sl@0
   542
        if(i < 2)
sl@0
   543
            {
sl@0
   544
            input3[i] = i*5;
sl@0
   545
            }
sl@0
   546
        }
sl@0
   547
    
sl@0
   548
    oil_mas8_u8_l15(output, input1, input2, input3, SIZE);
sl@0
   549
    
sl@0
   550
    for(i = 0; i < SIZE; i++)
sl@0
   551
        {
sl@0
   552
        if(output[i] != linux_output[i])
sl@0
   553
            {
sl@0
   554
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
sl@0
   555
            assert_failed = 1;
sl@0
   556
            }
sl@0
   557
        }
sl@0
   558
    }
sl@0
   559
sl@0
   560
void test_oil_mas8_u8_sym_l15()
sl@0
   561
    {
sl@0
   562
    uint8_t input1[SIZE+7];
sl@0
   563
    int16_t input2[8];
sl@0
   564
    int16_t input3[2];
sl@0
   565
    uint8_t output[SIZE];
sl@0
   566
    int16_t expected_output[] = {7,8,10,11,13,15,16,18,20,21,23,24,26,28,29,31,33,34,36,37};
sl@0
   567
    int i;
sl@0
   568
    
sl@0
   569
    for(i = 0; i < SIZE+7; i++)
sl@0
   570
        {
sl@0
   571
        input1[i] = i;
sl@0
   572
         
sl@0
   573
        if(i < 8)
sl@0
   574
            {
sl@0
   575
            input2[i] = i+3;
sl@0
   576
            }
sl@0
   577
        
sl@0
   578
        if(i < 2)
sl@0
   579
            {
sl@0
   580
            input3[i] = i*5;
sl@0
   581
            }
sl@0
   582
        }
sl@0
   583
    
sl@0
   584
    oil_mas8_u8_sym_l15(output, input1, input2, input3, SIZE);
sl@0
   585
    
sl@0
   586
    for(i = 0; i < SIZE; i++)
sl@0
   587
        {
sl@0
   588
        if(output[i] != expected_output[i])
sl@0
   589
            {
sl@0
   590
            std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,expected_output[i],output[i]);
sl@0
   591
            assert_failed = 1;
sl@0
   592
            }
sl@0
   593
        }
sl@0
   594
    }
sl@0
   595
sl@0
   596
int main (int argc, char *argv[])
sl@0
   597
{
sl@0
   598
  oil_init ();
sl@0
   599
sl@0
   600
  std_log(LOG_FILENAME_LINE,"START oil_mas10_u8 TEST");
sl@0
   601
  test_oil_mas10_u8();
sl@0
   602
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   603
  
sl@0
   604
  std_log(LOG_FILENAME_LINE,"START oil_mas10_u8_l15 TEST");
sl@0
   605
  test_oil_mas10_u8_l15();
sl@0
   606
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   607
  
sl@0
   608
  std_log(LOG_FILENAME_LINE,"START oil_mas10_u8_sym_l15 TEST");
sl@0
   609
  test_oil_mas10_u8_sym_l15();
sl@0
   610
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   611
  
sl@0
   612
  std_log(LOG_FILENAME_LINE,"START oil_mas12_addc_rshift_decim2_u8 TEST");
sl@0
   613
  test_oil_mas12_addc_rshift_decim2_u8();
sl@0
   614
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   615
  
sl@0
   616
  std_log(LOG_FILENAME_LINE,"START oil_mas2_across_add_s16 TEST");
sl@0
   617
  test_oil_mas2_across_add_s16();
sl@0
   618
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   619
  
sl@0
   620
  std_log(LOG_FILENAME_LINE,"START oil_mas2_add_s16 TEST");
sl@0
   621
  test_oil_mas2_add_s16();
sl@0
   622
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   623
  
sl@0
   624
  std_log(LOG_FILENAME_LINE,"START oil_mas4_across_add_s16 TEST");
sl@0
   625
  test_oil_mas4_across_add_s16();
sl@0
   626
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   627
  
sl@0
   628
  std_log(LOG_FILENAME_LINE,"START oil_mas4_add_s16 TEST");
sl@0
   629
  test_oil_mas4_add_s16();
sl@0
   630
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   631
  
sl@0
   632
  std_log(LOG_FILENAME_LINE,"START oil_mas8_across_add_s16 TEST");
sl@0
   633
  test_oil_mas8_across_add_s16();
sl@0
   634
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   635
  
sl@0
   636
  std_log(LOG_FILENAME_LINE,"START oil_mas8_across_u8 TEST");
sl@0
   637
  test_oil_mas8_across_u8();
sl@0
   638
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   639
  
sl@0
   640
  std_log(LOG_FILENAME_LINE,"START oil_mas8_add_s16 TEST");
sl@0
   641
  test_oil_mas8_add_s16();
sl@0
   642
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   643
  
sl@0
   644
  std_log(LOG_FILENAME_LINE,"START oil_mas8_addc_rshift_decim2_u8 TEST");
sl@0
   645
  test_oil_mas8_addc_rshift_decim2_u8();
sl@0
   646
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   647
  
sl@0
   648
  std_log(LOG_FILENAME_LINE,"START oil_mas8_u8 TEST");
sl@0
   649
  test_oil_mas8_u8();
sl@0
   650
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   651
  
sl@0
   652
  std_log(LOG_FILENAME_LINE,"START oil_mas8_u8_l15 TEST");
sl@0
   653
  test_oil_mas8_u8_l15();
sl@0
   654
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   655
  
sl@0
   656
  std_log(LOG_FILENAME_LINE,"START oil_mas8_u8_sym_l15 TEST");
sl@0
   657
  test_oil_mas8_u8_sym_l15(); //Getting different result than linux
sl@0
   658
  std_log(LOG_FILENAME_LINE,"END TEST\n");
sl@0
   659
  
sl@0
   660
  if(assert_failed)
sl@0
   661
      std_log(LOG_FILENAME_LINE,"Test Failed");
sl@0
   662
  else
sl@0
   663
      std_log(LOG_FILENAME_LINE,"Test Successful");
sl@0
   664
sl@0
   665
  create_xml(0);
sl@0
   666
  return 0;
sl@0
   667
}
sl@0
   668