os/ossrv/genericopenlibs/liboil/src/addc.c
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2009 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
//Portions Copyright (c)  2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
sl@0
    18
sl@0
    19
#include "liboil/liboilfunction.h"
sl@0
    20
#include "liboil/liboiltest.h"
sl@0
    21
#include "liboil/liboilrandom.h"
sl@0
    22
sl@0
    23
static void
sl@0
    24
shift_test (OilTest *test)
sl@0
    25
{
sl@0
    26
  int16_t *data;
sl@0
    27
  int i;
sl@0
    28
  int n;
sl@0
    29
sl@0
    30
if (0) {
sl@0
    31
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
    32
  n = oil_test_get_arg_post_n (test, OIL_ARG_SRC1);
sl@0
    33
  for(i=0;i<n;i++){
sl@0
    34
    data[i] = CLAMP(data[i], -4096, 4095);
sl@0
    35
  }
sl@0
    36
}
sl@0
    37
sl@0
    38
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
    39
  //data[0] = 10000;
sl@0
    40
  data[1] = 8;
sl@0
    41
}
sl@0
    42
sl@0
    43
OIL_DEFINE_CLASS (addc_s16,
sl@0
    44
    "int16_t *d1, int16_t *s1, int16_t *s2_1, int n");
sl@0
    45
OIL_DEFINE_CLASS_FULL (addc_rshift_s16,
sl@0
    46
    "int16_t *d1, int16_t *s1, int16_t *s2_2, int n", shift_test);
sl@0
    47
sl@0
    48
void
sl@0
    49
addc_rshift_s16_ref (int16_t *d1, int16_t *s1, int16_t *s2_2, int n)
sl@0
    50
{
sl@0
    51
  int i;
sl@0
    52
  int16_t x;
sl@0
    53
sl@0
    54
  for(i=0;i<n;i++){
sl@0
    55
    x = s1[i] + s2_2[0];
sl@0
    56
    d1[i] = x>>s2_2[1];
sl@0
    57
  }
sl@0
    58
}
sl@0
    59
OIL_DEFINE_IMPL_REF (addc_rshift_s16_ref, addc_rshift_s16);
sl@0
    60
sl@0
    61
void
sl@0
    62
addc_s16_ref (int16_t *d1, uint16_t *s1, int16_t *s2_1, int n)
sl@0
    63
{
sl@0
    64
  int i;
sl@0
    65
  for(i=0;i<n;i++){
sl@0
    66
    d1[i] = s1[i] + s2_1[0];
sl@0
    67
  }
sl@0
    68
}
sl@0
    69
OIL_DEFINE_IMPL_REF (addc_s16_ref, addc_s16);
sl@0
    70
sl@0
    71
sl@0
    72
sl@0
    73
#ifdef	__SYMBIAN32__
sl@0
    74
 
sl@0
    75
OilFunctionClass* __oil_function_class_addc_s16() {
sl@0
    76
		return &_oil_function_class_addc_s16;
sl@0
    77
}
sl@0
    78
#endif
sl@0
    79
sl@0
    80
#ifdef	__SYMBIAN32__
sl@0
    81
 
sl@0
    82
OilFunctionClass* __oil_function_class_addc_rshift_s16() {
sl@0
    83
		return &_oil_function_class_addc_rshift_s16;
sl@0
    84
}
sl@0
    85
#endif
sl@0
    86
sl@0
    87
sl@0
    88
sl@0
    89
#ifdef	__SYMBIAN32__
sl@0
    90
 
sl@0
    91
OilFunctionImpl* __oil_function_impl_addc_rshift_s16_ref() {
sl@0
    92
		return &_oil_function_impl_addc_rshift_s16_ref;
sl@0
    93
}
sl@0
    94
#endif
sl@0
    95
sl@0
    96
#ifdef	__SYMBIAN32__
sl@0
    97
 
sl@0
    98
OilFunctionImpl* __oil_function_impl_addc_s16_ref() {
sl@0
    99
		return &_oil_function_impl_addc_s16_ref;
sl@0
   100
}
sl@0
   101
#endif
sl@0
   102
sl@0
   103
sl@0
   104
sl@0
   105
#ifdef	__SYMBIAN32__
sl@0
   106
 
sl@0
   107
EXPORT_C void** _oil_function_class_ptr_addc_s16 ()	{
sl@0
   108
	oil_function_class_ptr_addc_s16 = __oil_function_class_addc_s16();
sl@0
   109
	return &oil_function_class_ptr_addc_s16->func;
sl@0
   110
	}
sl@0
   111
#endif
sl@0
   112
sl@0
   113
#ifdef	__SYMBIAN32__
sl@0
   114
 
sl@0
   115
EXPORT_C void** _oil_function_class_ptr_addc_rshift_s16 ()	{
sl@0
   116
	oil_function_class_ptr_addc_rshift_s16 = __oil_function_class_addc_rshift_s16();
sl@0
   117
	return &oil_function_class_ptr_addc_rshift_s16->func;
sl@0
   118
	}
sl@0
   119
#endif
sl@0
   120