os/ossrv/genericopenlibs/liboil/src/ref/mas.c
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
//Portions Copyright (c)  2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
sl@0
     2
/*
sl@0
     3
Copyright 2002,2003,2004,2005 David A. Schleef <ds@schleef.org>
sl@0
     4
  All rights reserved.
sl@0
     5
  
sl@0
     6
  Redistribution and use in source and binary forms, with or without
sl@0
     7
  modification, are permitted provided that the following conditions
sl@0
     8
  are met:
sl@0
     9
  1. Redistributions of source code must retain the above copyright
sl@0
    10
     notice, this list of conditions and the following disclaimer.
sl@0
    11
  2. Redistributions in binary form must reproduce the above copyright
sl@0
    12
     notice, this list of conditions and the following disclaimer in the
sl@0
    13
     documentation and/or other materials provided with the distribution.
sl@0
    14
  
sl@0
    15
  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
sl@0
    16
  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
sl@0
    17
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
sl@0
    18
  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
sl@0
    19
  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
sl@0
    20
  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
sl@0
    21
  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
sl@0
    22
  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
sl@0
    23
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
sl@0
    24
  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
sl@0
    25
  POSSIBILITY OF SUCH DAMAGE.
sl@0
    26
*/
sl@0
    27
#include <liboil/liboilfunction.h>
sl@0
    28
#include <liboil/liboiltest.h>
sl@0
    29
#include <liboil/liboilrandom.h>
sl@0
    30
sl@0
    31
static void
sl@0
    32
mas_test (OilTest *test)
sl@0
    33
{
sl@0
    34
  int16_t *data;
sl@0
    35
  int i;
sl@0
    36
  int n;
sl@0
    37
sl@0
    38
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
    39
  for(i=0;i<test->n;i++){
sl@0
    40
    //data[i] = oil_rand_s16()>>1;
sl@0
    41
    data[i] = 0;
sl@0
    42
  }
sl@0
    43
sl@0
    44
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
    45
  for(i=0;i<test->n;i++){
sl@0
    46
    data[i] = oil_rand_s16() >> 4;
sl@0
    47
  }
sl@0
    48
sl@0
    49
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
    50
  n = oil_test_get_arg_post_n (test, OIL_ARG_SRC3);
sl@0
    51
  if (n == 2) {
sl@0
    52
    data[0] = 1;
sl@0
    53
    data[1] = 1;
sl@0
    54
sl@0
    55
    data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
sl@0
    56
    data[0] = 1;
sl@0
    57
    data[1] = 1;
sl@0
    58
  } else {
sl@0
    59
    for(i=0;i<n;i++){
sl@0
    60
      data[i] = (oil_rand_s16()>>4)/n;
sl@0
    61
    }
sl@0
    62
sl@0
    63
    data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
sl@0
    64
    data[0] = (1<<11);
sl@0
    65
    data[1] = 12;
sl@0
    66
  }
sl@0
    67
}
sl@0
    68
sl@0
    69
static void
sl@0
    70
mas2_across_test (OilTest *test)
sl@0
    71
{
sl@0
    72
  int16_t *data;
sl@0
    73
  int i;
sl@0
    74
  int n;
sl@0
    75
sl@0
    76
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
    77
  for(i=0;i<test->n;i++){
sl@0
    78
    //data[i] = oil_rand_s16()>>1;
sl@0
    79
    data[i] = 0;
sl@0
    80
  }
sl@0
    81
sl@0
    82
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
    83
  for(i=0;i<test->n;i++){
sl@0
    84
    data[i] = oil_rand_s16()>>4;
sl@0
    85
  }
sl@0
    86
sl@0
    87
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
    88
  for(i=0;i<test->n;i++){
sl@0
    89
    data[i] = oil_rand_s16()>>4;
sl@0
    90
  }
sl@0
    91
sl@0
    92
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
sl@0
    93
  n = oil_test_get_arg_post_n (test, OIL_ARG_SRC4);
sl@0
    94
  for(i=0;i<n;i++){
sl@0
    95
    data[i] = (oil_rand_s16()>>4)/n;
sl@0
    96
  }
sl@0
    97
sl@0
    98
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC5);
sl@0
    99
  data[0] = (1<<11);
sl@0
   100
  data[1] = 12;
sl@0
   101
}
sl@0
   102
sl@0
   103
static void
sl@0
   104
mas48_across_test (OilTest *test)
sl@0
   105
{
sl@0
   106
  int16_t *data;
sl@0
   107
  int stride;
sl@0
   108
  int i;
sl@0
   109
  int j;
sl@0
   110
  int n;
sl@0
   111
  int m;
sl@0
   112
  int sum;
sl@0
   113
sl@0
   114
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
   115
  for(i=0;i<test->n;i++){
sl@0
   116
    //data[i] = oil_rand_s16()>>1;
sl@0
   117
    data[i] = 0;
sl@0
   118
  }
sl@0
   119
sl@0
   120
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   121
  m = oil_test_get_arg_post_n (test, OIL_ARG_SRC2);
sl@0
   122
  stride = oil_test_get_arg_stride (test, OIL_ARG_SRC2);
sl@0
   123
  for(j=0;j<m;j++){
sl@0
   124
    for(i=0;i<test->n;i++){
sl@0
   125
      data[i] = oil_rand_s16()>>12;
sl@0
   126
    }
sl@0
   127
    data = OIL_OFFSET(data, stride);
sl@0
   128
  }
sl@0
   129
sl@0
   130
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   131
  n = oil_test_get_arg_post_n (test, OIL_ARG_SRC3);
sl@0
   132
  sum = 0;
sl@0
   133
#if 0
sl@0
   134
  if (n==8) {
sl@0
   135
    for(i=0;i<8;i++){
sl@0
   136
      data[i] = 1;
sl@0
   137
    }
sl@0
   138
  } else {
sl@0
   139
    data[0] = -1;
sl@0
   140
    data[1] = 9;
sl@0
   141
    data[2] = 9;
sl@0
   142
    data[3] = -1;
sl@0
   143
  }
sl@0
   144
#endif
sl@0
   145
  for(i=0;i<n-1;i++){
sl@0
   146
    data[i] = (oil_rand_s16()>>8)/n;
sl@0
   147
    sum += data[i];
sl@0
   148
  }
sl@0
   149
  data[i] = 128 - sum;
sl@0
   150
sl@0
   151
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
sl@0
   152
  data[0] = (1<<6);
sl@0
   153
  data[1] = 7;
sl@0
   154
#if 0
sl@0
   155
  data[0] = (1<<(4-1));
sl@0
   156
  data[1] = 4;
sl@0
   157
#endif
sl@0
   158
}
sl@0
   159
sl@0
   160
static void
sl@0
   161
mas10_u8_test (OilTest *test)
sl@0
   162
{
sl@0
   163
  static const int taps[] = { 3, -11, 25, -56, 167, 167, -56, 25, -11, 3 };
sl@0
   164
  int16_t *data;
sl@0
   165
  int i;
sl@0
   166
sl@0
   167
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   168
  for(i=0;i<10;i++){
sl@0
   169
    data[i] = taps[i];
sl@0
   170
  }
sl@0
   171
sl@0
   172
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   173
  data[0] = 128;
sl@0
   174
  data[1] = 8;
sl@0
   175
}
sl@0
   176
sl@0
   177
static void
sl@0
   178
mas10_u8_l15_test (OilTest *test)
sl@0
   179
{
sl@0
   180
  static const int taps[] = { 0, -1, 3, -7, 21, 21, -7, 3, -1, 0 };
sl@0
   181
  int16_t *data;
sl@0
   182
  int i;
sl@0
   183
sl@0
   184
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   185
  for(i=0;i<10;i++){
sl@0
   186
    data[i] = taps[i];
sl@0
   187
  }
sl@0
   188
sl@0
   189
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   190
  data[0] = 32;
sl@0
   191
  data[1] = 6;
sl@0
   192
}
sl@0
   193
sl@0
   194
static void
sl@0
   195
mas8_u8_test (OilTest *test)
sl@0
   196
{
sl@0
   197
  static const int taps[] = { -1, 3, -7, 21, 21, -7, 3, -1 };
sl@0
   198
  int16_t *data;
sl@0
   199
  int i;
sl@0
   200
#if 0
sl@0
   201
  int n;
sl@0
   202
sl@0
   203
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
sl@0
   204
  n = oil_test_get_arg_post_n (test, OIL_ARG_SRC1);
sl@0
   205
  for(i=0;i<n;i++){
sl@0
   206
    data[i] = 100*((i%8)==4);
sl@0
   207
  }
sl@0
   208
#endif
sl@0
   209
sl@0
   210
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   211
  for(i=0;i<8;i++){
sl@0
   212
    data[i] = taps[i];
sl@0
   213
  }
sl@0
   214
sl@0
   215
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   216
  data[0] = 32;
sl@0
   217
  data[1] = 6;
sl@0
   218
sl@0
   219
}
sl@0
   220
sl@0
   221
static void
sl@0
   222
mas12_test (OilTest *test)
sl@0
   223
{
sl@0
   224
  const int taps[12] = { 4, -4, -8, 4, 46, 86, 86, 46, 4, -8, -4, 4 };
sl@0
   225
  int16_t *data;
sl@0
   226
  int i;
sl@0
   227
sl@0
   228
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   229
  for(i=0;i<12;i++){
sl@0
   230
    data[i] = taps[i];
sl@0
   231
  }
sl@0
   232
sl@0
   233
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   234
  data[0] = (1<<11);
sl@0
   235
  data[1] = 12;
sl@0
   236
}
sl@0
   237
sl@0
   238
static void
sl@0
   239
mas8_test (OilTest *test)
sl@0
   240
{
sl@0
   241
  const int taps[8] = { -8, 4, 46, 86, 86, 46, 4, -8 };
sl@0
   242
  int16_t *data;
sl@0
   243
  int i;
sl@0
   244
sl@0
   245
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
sl@0
   246
  for(i=0;i<12;i++){
sl@0
   247
    data[i] = taps[i];
sl@0
   248
  }
sl@0
   249
sl@0
   250
  data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
sl@0
   251
  data[0] = (1<<11);
sl@0
   252
  data[1] = 12;
sl@0
   253
}
sl@0
   254
sl@0
   255
OIL_DEFINE_CLASS_FULL (mas2_add_s16,
sl@0
   256
    "int16_t *d, int16_t *s1, int16_t *s2_np1, int16_t *s3_2, int16_t *s4_2, "
sl@0
   257
    "int n", mas_test);
sl@0
   258
OIL_DEFINE_CLASS_FULL (mas4_add_s16,
sl@0
   259
    "int16_t *d, int16_t *s1, int16_t *s2_np3, int16_t *s3_4, int16_t *s4_2, "
sl@0
   260
    "int n", mas_test);
sl@0
   261
OIL_DEFINE_CLASS_FULL (mas8_add_s16,
sl@0
   262
    "int16_t *d, int16_t *s1, int16_t *s2_np7, int16_t *s3_8, int16_t *s4_2, "
sl@0
   263
    "int n", mas_test);
sl@0
   264
OIL_DEFINE_CLASS_FULL (mas2_across_add_s16,
sl@0
   265
    "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4_2, "
sl@0
   266
    "int16_t *s5_2, int n", mas2_across_test);
sl@0
   267
OIL_DEFINE_CLASS_FULL (mas4_across_add_s16,
sl@0
   268
    "int16_t *d, int16_t *s1, int16_t *s2_nx4, int sstr2, int16_t *s3_4, "
sl@0
   269
    "int16_t *s4_2, int n", mas48_across_test);
sl@0
   270
OIL_DEFINE_CLASS_FULL (mas8_across_add_s16,
sl@0
   271
    "int16_t *d, int16_t *s1, int16_t *s2_nx8, int sstr2, int16_t *s3_8, "
sl@0
   272
    "int16_t *s4_2, int n", mas48_across_test);
sl@0
   273
OIL_DEFINE_CLASS_FULL (mas10_u8, "uint8_t *d, uint8_t *s1_np9, int16_t *s2_10, "
sl@0
   274
    "int16_t *s3_2, int n", mas10_u8_test);
sl@0
   275
OIL_DEFINE_CLASS_FULL (mas10_u8_l15, "uint8_t *d, uint8_t *s1_np9, int16_t *s2_10, "
sl@0
   276
    "int16_t *s3_2, int n", mas10_u8_l15_test);
sl@0
   277
OIL_DEFINE_CLASS_FULL (mas10_u8_sym_l15, "uint8_t *d, uint8_t *s1_np9, int16_t *s2_10, "
sl@0
   278
    "int16_t *s3_2, int n", mas10_u8_l15_test);
sl@0
   279
OIL_DEFINE_CLASS_FULL (mas8_u8, "uint8_t *d, uint8_t *s1_np7, int16_t *s2_8, "
sl@0
   280
    "int16_t *s3_2, int n", mas8_u8_test);
sl@0
   281
OIL_DEFINE_CLASS_FULL (mas8_u8_l15, "uint8_t *d, uint8_t *s1_np7, int16_t *s2_8, "
sl@0
   282
    "int16_t *s3_2, int n", mas8_u8_test);
sl@0
   283
OIL_DEFINE_CLASS_FULL (mas8_u8_sym_l15, "uint8_t *d, uint8_t *s1_np7, int16_t *s2_8, "
sl@0
   284
    "int16_t *s3_2, int n", mas8_u8_test);
sl@0
   285
OIL_DEFINE_CLASS_FULL (mas12_addc_rshift_decim2_u8,
sl@0
   286
    "uint8_t *d, uint8_t *s1_2xnp11, int16_t *s2_12, "
sl@0
   287
    "int16_t *s3_2, int n", mas12_test);
sl@0
   288
#if 0
sl@0
   289
OIL_DEFINE_CLASS_FULL (mas12across_addc_rshift_u8,
sl@0
   290
    "uint8_t *d, uint8_t **s1_a12, int16_t *s2_12, "
sl@0
   291
    "int16_t *s3_2, int n", mas12_test);
sl@0
   292
#endif
sl@0
   293
OIL_DEFINE_CLASS_FULL (mas8_addc_rshift_decim2_u8,
sl@0
   294
    "uint8_t *d, uint8_t *s1_2xnp9, int16_t *s2_8, "
sl@0
   295
    "int16_t *s3_2, int n", mas8_test);
sl@0
   296
OIL_DEFINE_CLASS_FULL (mas8_across_u8, "uint8_t *d, uint8_t *s1_nx8, int sstr1, "
sl@0
   297
    "int16_t *s2_8, int16_t *s3_2, int n", mas8_u8_test);
sl@0
   298
sl@0
   299
void
sl@0
   300
mas2_add_s16_ref(int16_t *d1, int16_t *s1, int16_t *s2, int16_t *s3_2,
sl@0
   301
    int16_t *s4_2, int n)
sl@0
   302
{
sl@0
   303
  int i;
sl@0
   304
  int x;
sl@0
   305
sl@0
   306
  for(i=0;i<n;i++){
sl@0
   307
    x = s4_2[0] + s2[i]*s3_2[0] + s2[i+1]*s3_2[1];
sl@0
   308
    x >>= s4_2[1];
sl@0
   309
    d1[i] = s1[i] + x;
sl@0
   310
  }
sl@0
   311
}
sl@0
   312
OIL_DEFINE_IMPL_REF (mas2_add_s16_ref, mas2_add_s16);
sl@0
   313
sl@0
   314
void
sl@0
   315
mas4_add_s16_ref(int16_t *d1, int16_t *s1, int16_t *s2, int16_t *s3_4,
sl@0
   316
    int16_t *s4_2, int n)
sl@0
   317
{
sl@0
   318
  int i;
sl@0
   319
  int x;
sl@0
   320
sl@0
   321
  for(i=0;i<n;i++){
sl@0
   322
    x = s4_2[0] + s2[i]*s3_4[0] + s2[i+1]*s3_4[1] + s2[i+2]*s3_4[2] +
sl@0
   323
        s2[i+3]*s3_4[3];
sl@0
   324
    x >>= s4_2[1];
sl@0
   325
    d1[i] = s1[i] + x;
sl@0
   326
  }
sl@0
   327
}
sl@0
   328
OIL_DEFINE_IMPL_REF (mas4_add_s16_ref, mas4_add_s16);
sl@0
   329
sl@0
   330
void
sl@0
   331
mas8_add_s16_ref(int16_t *d1, int16_t *s1, int16_t *s2, int16_t *s3_8,
sl@0
   332
    int16_t *s4_2, int n)
sl@0
   333
{
sl@0
   334
  int i;
sl@0
   335
  int j;
sl@0
   336
  int x;
sl@0
   337
sl@0
   338
  for(i=0;i<n;i++){
sl@0
   339
    x = s4_2[0];
sl@0
   340
    for(j=0;j<8;j++){
sl@0
   341
      x += s2[i+j]*s3_8[j];
sl@0
   342
    }
sl@0
   343
    x >>= s4_2[1];
sl@0
   344
    d1[i] = s1[i] + x;
sl@0
   345
  }
sl@0
   346
}
sl@0
   347
OIL_DEFINE_IMPL_REF (mas8_add_s16_ref, mas8_add_s16);
sl@0
   348
sl@0
   349
void
sl@0
   350
mas2_across_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3,
sl@0
   351
    int16_t *s4_2, int16_t *s5_2, int n)
sl@0
   352
{
sl@0
   353
  int i;
sl@0
   354
  int x;
sl@0
   355
  for(i=0;i<n;i++){
sl@0
   356
    x = s5_2[0];
sl@0
   357
    x += s2[i]*s4_2[0] + s3[i]*s4_2[1];
sl@0
   358
    x >>= s5_2[1];
sl@0
   359
    d[i] = s1[i] + x;
sl@0
   360
  }
sl@0
   361
}
sl@0
   362
OIL_DEFINE_IMPL_REF (mas2_across_add_s16_ref, mas2_across_add_s16);
sl@0
   363
sl@0
   364
void
sl@0
   365
mas4_across_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2_nx4, int sstr2,
sl@0
   366
    int16_t *s3_4, int16_t *s4_2, int n)
sl@0
   367
{
sl@0
   368
  int i;
sl@0
   369
  int j;
sl@0
   370
  int x;
sl@0
   371
  for(i=0;i<n;i++){
sl@0
   372
    x = s4_2[0];
sl@0
   373
    for(j=0;j<4;j++){
sl@0
   374
      x += OIL_GET(s2_nx4, i*sizeof(int16_t) + j*sstr2, int16_t)*s3_4[j];
sl@0
   375
    }
sl@0
   376
    x >>= s4_2[1];
sl@0
   377
    d[i] = s1[i] + x;
sl@0
   378
  }
sl@0
   379
}
sl@0
   380
OIL_DEFINE_IMPL_REF (mas4_across_add_s16_ref, mas4_across_add_s16);
sl@0
   381
sl@0
   382
void
sl@0
   383
mas8_across_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2_nx8, int sstr2,
sl@0
   384
    int16_t *s3_8, int16_t *s4_2, int n)
sl@0
   385
{
sl@0
   386
  int i;
sl@0
   387
  int j;
sl@0
   388
  int x;
sl@0
   389
  for(i=0;i<n;i++){
sl@0
   390
    x = s4_2[0];
sl@0
   391
    for(j=0;j<8;j++){
sl@0
   392
      x += OIL_GET(s2_nx8, i*sizeof(int16_t) + j*sstr2, int16_t)*s3_8[j];
sl@0
   393
    }
sl@0
   394
    x >>= s4_2[1];
sl@0
   395
    d[i] = s1[i] + x;
sl@0
   396
  }
sl@0
   397
}
sl@0
   398
OIL_DEFINE_IMPL_REF (mas8_across_add_s16_ref, mas8_across_add_s16);
sl@0
   399
sl@0
   400
sl@0
   401
void
sl@0
   402
mas10_u8_ref (uint8_t *d, const uint8_t *s1_np9, const int16_t *s2_10,
sl@0
   403
    const int16_t *s3_2, int n)
sl@0
   404
{
sl@0
   405
  int i;
sl@0
   406
  int j;
sl@0
   407
  int x;
sl@0
   408
sl@0
   409
  for(i=0;i<n;i++){
sl@0
   410
    x = 0;
sl@0
   411
    for(j=0;j<10;j++){
sl@0
   412
      x += s1_np9[i+j] * s2_10[j];
sl@0
   413
    }
sl@0
   414
    d[i] = CLAMP((x + s3_2[0])>>s3_2[1],0,255);
sl@0
   415
  }
sl@0
   416
}
sl@0
   417
OIL_DEFINE_IMPL_REF (mas10_u8_ref, mas10_u8);
sl@0
   418
sl@0
   419
void
sl@0
   420
mas10_u8_l15_ref (uint8_t *d, const uint8_t *s1_np9, const int16_t *s2_10,
sl@0
   421
    const int16_t *s3_2, int n)
sl@0
   422
{
sl@0
   423
  mas10_u8_ref (d, s1_np9, s2_10, s3_2, n);
sl@0
   424
}
sl@0
   425
OIL_DEFINE_IMPL_REF (mas10_u8_l15_ref, mas10_u8_l15);
sl@0
   426
sl@0
   427
void
sl@0
   428
mas10_u8_sym_l15_ref (uint8_t *d, const uint8_t *s1_np9,
sl@0
   429
    const int16_t *s2_10, const int16_t *s3_2, int n)
sl@0
   430
{
sl@0
   431
  mas10_u8_ref (d, s1_np9, s2_10, s3_2, n);
sl@0
   432
}
sl@0
   433
OIL_DEFINE_IMPL_REF (mas10_u8_sym_l15_ref, mas10_u8_sym_l15);
sl@0
   434
sl@0
   435
void
sl@0
   436
mas8_u8_ref (uint8_t *d, const uint8_t *s1_np7, const int16_t *s2_8,
sl@0
   437
        const int16_t *s3_2, int n)
sl@0
   438
{
sl@0
   439
  int i;
sl@0
   440
  int j;
sl@0
   441
  int x;
sl@0
   442
sl@0
   443
  for(i=0;i<n;i++){
sl@0
   444
    x = 0;
sl@0
   445
    for(j=0;j<8;j++){
sl@0
   446
      x += s1_np7[i+j] * s2_8[j];
sl@0
   447
    }
sl@0
   448
    d[i] = CLAMP((x + s3_2[0])>>s3_2[1],0,255);
sl@0
   449
  }
sl@0
   450
}
sl@0
   451
OIL_DEFINE_IMPL_REF (mas8_u8_ref, mas8_u8);
sl@0
   452
sl@0
   453
void
sl@0
   454
mas8_u8_l15_ref (uint8_t *d, const uint8_t *s1_np7, const int16_t *s2_8,
sl@0
   455
    const int16_t *s3_2, int n)
sl@0
   456
{
sl@0
   457
  mas8_u8_ref (d, s1_np7, s2_8, s3_2, n);
sl@0
   458
}
sl@0
   459
OIL_DEFINE_IMPL_REF (mas8_u8_l15_ref, mas8_u8_l15);
sl@0
   460
sl@0
   461
void
sl@0
   462
mas8_u8_sym_l15_ref (uint8_t *d, const uint8_t *s1_np7,
sl@0
   463
    const int16_t *s2_8, const int16_t *s3_2, int n)
sl@0
   464
{
sl@0
   465
  mas8_u8_ref (d, s1_np7, s2_8, s3_2, n);
sl@0
   466
}
sl@0
   467
OIL_DEFINE_IMPL_REF (mas8_u8_sym_l15_ref, mas8_u8_sym_l15);
sl@0
   468
sl@0
   469
void
sl@0
   470
mas8_across_u8_ref (uint8_t *d, uint8_t *s1_nx8, int sstr1,
sl@0
   471
    int16_t *s2_8, int16_t *s3_2, int n)
sl@0
   472
{
sl@0
   473
  int i;
sl@0
   474
  int j;
sl@0
   475
  int x;
sl@0
   476
  for(i=0;i<n;i++){
sl@0
   477
    x = s3_2[0];
sl@0
   478
    for(j=0;j<8;j++){
sl@0
   479
      x += OIL_GET(s1_nx8, i*sizeof(uint8_t) + j*sstr1, uint8_t)*s2_8[j];
sl@0
   480
    }
sl@0
   481
    x >>= s3_2[1];
sl@0
   482
    d[i] = CLAMP(x,0,255);
sl@0
   483
  }
sl@0
   484
}
sl@0
   485
OIL_DEFINE_IMPL_REF (mas8_across_u8_ref, mas8_across_u8);
sl@0
   486
sl@0
   487
static void
sl@0
   488
mas12_addc_rshift_decim2_u8_ref (uint8_t *dest, const uint8_t *src,
sl@0
   489
    const int16_t *taps, const int16_t *offsetshift, int n)
sl@0
   490
{
sl@0
   491
  int i;
sl@0
   492
  int j;
sl@0
   493
  int x;
sl@0
   494
sl@0
   495
  for(i=0;i<n;i++){
sl@0
   496
    x = 0;
sl@0
   497
    for(j=0;j<12;j++){
sl@0
   498
      x += taps[j]*src[i*2 + j];
sl@0
   499
    }
sl@0
   500
    dest[i] = CLAMP((x + offsetshift[0]) >> offsetshift[1],0,255);
sl@0
   501
  }
sl@0
   502
}
sl@0
   503
OIL_DEFINE_IMPL_REF (mas12_addc_rshift_decim2_u8_ref,
sl@0
   504
    mas12_addc_rshift_decim2_u8);
sl@0
   505
sl@0
   506
#if 0
sl@0
   507
void
sl@0
   508
mas12across_addc_rshift_u8_ref (uint8_t *dest, uint8_t **src,
sl@0
   509
    const int16_t *taps, const int16_t *offsetshift, int n)
sl@0
   510
{
sl@0
   511
  int i;
sl@0
   512
  int j;
sl@0
   513
  int x;
sl@0
   514
sl@0
   515
  for(i=0;i<n;i++){
sl@0
   516
    x = 0;
sl@0
   517
    for(j=0;j<12;j++){
sl@0
   518
      x += taps[j]*src[j][i];
sl@0
   519
    }
sl@0
   520
    dest[i] = CLAMP((x + offsetshift[0]) >> offsetshift[1],0,255);
sl@0
   521
  }
sl@0
   522
}
sl@0
   523
OIL_DEFINE_IMPL_REF (mas12across_addc_rshift_u8_ref,
sl@0
   524
    mas12across_addc_rshift_u8);
sl@0
   525
#endif
sl@0
   526
sl@0
   527
static void
sl@0
   528
mas8_addc_rshift_decim2_u8_ref (uint8_t *dest, const uint8_t *src,
sl@0
   529
    const int16_t *taps, const int16_t *offsetshift, int n)
sl@0
   530
{
sl@0
   531
  int i;
sl@0
   532
  int j;
sl@0
   533
  int x;
sl@0
   534
sl@0
   535
  for(i=0;i<n;i++){
sl@0
   536
    x = 0;
sl@0
   537
    for(j=0;j<8;j++){
sl@0
   538
      x += taps[j]*src[i*2 + j];
sl@0
   539
    }
sl@0
   540
    dest[i] = CLAMP((x + offsetshift[0]) >> offsetshift[1],0,255);
sl@0
   541
  }
sl@0
   542
}
sl@0
   543
OIL_DEFINE_IMPL_REF (mas8_addc_rshift_decim2_u8_ref,
sl@0
   544
    mas8_addc_rshift_decim2_u8);
sl@0
   545
sl@0
   546
sl@0
   547
sl@0
   548
#ifdef	__SYMBIAN32__
sl@0
   549
 
sl@0
   550
OilFunctionClass* __oil_function_class_mas2_add_s16() {
sl@0
   551
		return &_oil_function_class_mas2_add_s16;
sl@0
   552
}
sl@0
   553
#endif
sl@0
   554
sl@0
   555
#ifdef	__SYMBIAN32__
sl@0
   556
 
sl@0
   557
OilFunctionClass* __oil_function_class_mas4_add_s16() {
sl@0
   558
		return &_oil_function_class_mas4_add_s16;
sl@0
   559
}
sl@0
   560
#endif
sl@0
   561
sl@0
   562
#ifdef	__SYMBIAN32__
sl@0
   563
 
sl@0
   564
OilFunctionClass* __oil_function_class_mas8_add_s16() {
sl@0
   565
		return &_oil_function_class_mas8_add_s16;
sl@0
   566
}
sl@0
   567
#endif
sl@0
   568
sl@0
   569
#ifdef	__SYMBIAN32__
sl@0
   570
 
sl@0
   571
OilFunctionClass* __oil_function_class_mas2_across_add_s16() {
sl@0
   572
		return &_oil_function_class_mas2_across_add_s16;
sl@0
   573
}
sl@0
   574
#endif
sl@0
   575
sl@0
   576
#ifdef	__SYMBIAN32__
sl@0
   577
 
sl@0
   578
OilFunctionClass* __oil_function_class_mas4_across_add_s16() {
sl@0
   579
		return &_oil_function_class_mas4_across_add_s16;
sl@0
   580
}
sl@0
   581
#endif
sl@0
   582
sl@0
   583
#ifdef	__SYMBIAN32__
sl@0
   584
 
sl@0
   585
OilFunctionClass* __oil_function_class_mas8_across_add_s16() {
sl@0
   586
		return &_oil_function_class_mas8_across_add_s16;
sl@0
   587
}
sl@0
   588
#endif
sl@0
   589
sl@0
   590
#ifdef	__SYMBIAN32__
sl@0
   591
 
sl@0
   592
OilFunctionClass* __oil_function_class_mas10_u8() {
sl@0
   593
		return &_oil_function_class_mas10_u8;
sl@0
   594
}
sl@0
   595
#endif
sl@0
   596
sl@0
   597
#ifdef	__SYMBIAN32__
sl@0
   598
 
sl@0
   599
OilFunctionClass* __oil_function_class_mas10_u8_l15() {
sl@0
   600
		return &_oil_function_class_mas10_u8_l15;
sl@0
   601
}
sl@0
   602
#endif
sl@0
   603
sl@0
   604
#ifdef	__SYMBIAN32__
sl@0
   605
 
sl@0
   606
OilFunctionClass* __oil_function_class_mas10_u8_sym_l15() {
sl@0
   607
		return &_oil_function_class_mas10_u8_sym_l15;
sl@0
   608
}
sl@0
   609
#endif
sl@0
   610
sl@0
   611
#ifdef	__SYMBIAN32__
sl@0
   612
 
sl@0
   613
OilFunctionClass* __oil_function_class_mas8_u8() {
sl@0
   614
		return &_oil_function_class_mas8_u8;
sl@0
   615
}
sl@0
   616
#endif
sl@0
   617
sl@0
   618
#ifdef	__SYMBIAN32__
sl@0
   619
 
sl@0
   620
OilFunctionClass* __oil_function_class_mas8_u8_l15() {
sl@0
   621
		return &_oil_function_class_mas8_u8_l15;
sl@0
   622
}
sl@0
   623
#endif
sl@0
   624
sl@0
   625
#ifdef	__SYMBIAN32__
sl@0
   626
 
sl@0
   627
OilFunctionClass* __oil_function_class_mas8_u8_sym_l15() {
sl@0
   628
		return &_oil_function_class_mas8_u8_sym_l15;
sl@0
   629
}
sl@0
   630
#endif
sl@0
   631
sl@0
   632
#ifdef	__SYMBIAN32__
sl@0
   633
 
sl@0
   634
OilFunctionClass* __oil_function_class_mas12_addc_rshift_decim2_u8() {
sl@0
   635
		return &_oil_function_class_mas12_addc_rshift_decim2_u8;
sl@0
   636
}
sl@0
   637
#endif
sl@0
   638
sl@0
   639
#if 0
sl@0
   640
#ifdef	__SYMBIAN32__
sl@0
   641
 
sl@0
   642
OilFunctionClass* __oil_function_class_mas12across_addc_rshift_u8() {
sl@0
   643
		return &_oil_function_class_mas12across_addc_rshift_u8;
sl@0
   644
}
sl@0
   645
#endif
sl@0
   646
#endif
sl@0
   647
sl@0
   648
#ifdef	__SYMBIAN32__
sl@0
   649
 
sl@0
   650
OilFunctionClass* __oil_function_class_mas8_addc_rshift_decim2_u8() {
sl@0
   651
		return &_oil_function_class_mas8_addc_rshift_decim2_u8;
sl@0
   652
}
sl@0
   653
#endif
sl@0
   654
sl@0
   655
#ifdef	__SYMBIAN32__
sl@0
   656
 
sl@0
   657
OilFunctionClass* __oil_function_class_mas8_across_u8() {
sl@0
   658
		return &_oil_function_class_mas8_across_u8;
sl@0
   659
}
sl@0
   660
#endif
sl@0
   661
sl@0
   662
sl@0
   663
sl@0
   664
#ifdef	__SYMBIAN32__
sl@0
   665
 
sl@0
   666
OilFunctionImpl* __oil_function_impl_mas2_add_s16_ref() {
sl@0
   667
		return &_oil_function_impl_mas2_add_s16_ref;
sl@0
   668
}
sl@0
   669
#endif
sl@0
   670
sl@0
   671
#ifdef	__SYMBIAN32__
sl@0
   672
 
sl@0
   673
OilFunctionImpl* __oil_function_impl_mas4_add_s16_ref() {
sl@0
   674
		return &_oil_function_impl_mas4_add_s16_ref;
sl@0
   675
}
sl@0
   676
#endif
sl@0
   677
sl@0
   678
#ifdef	__SYMBIAN32__
sl@0
   679
 
sl@0
   680
OilFunctionImpl* __oil_function_impl_mas8_add_s16_ref() {
sl@0
   681
		return &_oil_function_impl_mas8_add_s16_ref;
sl@0
   682
}
sl@0
   683
#endif
sl@0
   684
sl@0
   685
#ifdef	__SYMBIAN32__
sl@0
   686
 
sl@0
   687
OilFunctionImpl* __oil_function_impl_mas2_across_add_s16_ref() {
sl@0
   688
		return &_oil_function_impl_mas2_across_add_s16_ref;
sl@0
   689
}
sl@0
   690
#endif
sl@0
   691
sl@0
   692
#ifdef	__SYMBIAN32__
sl@0
   693
 
sl@0
   694
OilFunctionImpl* __oil_function_impl_mas4_across_add_s16_ref() {
sl@0
   695
		return &_oil_function_impl_mas4_across_add_s16_ref;
sl@0
   696
}
sl@0
   697
#endif
sl@0
   698
sl@0
   699
#ifdef	__SYMBIAN32__
sl@0
   700
 
sl@0
   701
OilFunctionImpl* __oil_function_impl_mas8_across_add_s16_ref() {
sl@0
   702
		return &_oil_function_impl_mas8_across_add_s16_ref;
sl@0
   703
}
sl@0
   704
#endif
sl@0
   705
sl@0
   706
#ifdef	__SYMBIAN32__
sl@0
   707
 
sl@0
   708
OilFunctionImpl* __oil_function_impl_mas10_u8_ref() {
sl@0
   709
		return &_oil_function_impl_mas10_u8_ref;
sl@0
   710
}
sl@0
   711
#endif
sl@0
   712
sl@0
   713
#ifdef	__SYMBIAN32__
sl@0
   714
 
sl@0
   715
OilFunctionImpl* __oil_function_impl_mas10_u8_l15_ref() {
sl@0
   716
		return &_oil_function_impl_mas10_u8_l15_ref;
sl@0
   717
}
sl@0
   718
#endif
sl@0
   719
sl@0
   720
#ifdef	__SYMBIAN32__
sl@0
   721
 
sl@0
   722
OilFunctionImpl* __oil_function_impl_mas10_u8_sym_l15_ref() {
sl@0
   723
		return &_oil_function_impl_mas10_u8_sym_l15_ref;
sl@0
   724
}
sl@0
   725
#endif
sl@0
   726
sl@0
   727
#ifdef	__SYMBIAN32__
sl@0
   728
 
sl@0
   729
OilFunctionImpl* __oil_function_impl_mas8_u8_ref() {
sl@0
   730
		return &_oil_function_impl_mas8_u8_ref;
sl@0
   731
}
sl@0
   732
#endif
sl@0
   733
sl@0
   734
#ifdef	__SYMBIAN32__
sl@0
   735
 
sl@0
   736
OilFunctionImpl* __oil_function_impl_mas8_u8_l15_ref() {
sl@0
   737
		return &_oil_function_impl_mas8_u8_l15_ref;
sl@0
   738
}
sl@0
   739
#endif
sl@0
   740
sl@0
   741
#ifdef	__SYMBIAN32__
sl@0
   742
 
sl@0
   743
OilFunctionImpl* __oil_function_impl_mas8_u8_sym_l15_ref() {
sl@0
   744
		return &_oil_function_impl_mas8_u8_sym_l15_ref;
sl@0
   745
}
sl@0
   746
#endif
sl@0
   747
sl@0
   748
#ifdef	__SYMBIAN32__
sl@0
   749
 
sl@0
   750
OilFunctionImpl* __oil_function_impl_mas8_across_u8_ref() {
sl@0
   751
		return &_oil_function_impl_mas8_across_u8_ref;
sl@0
   752
}
sl@0
   753
#endif
sl@0
   754
sl@0
   755
#ifdef	__SYMBIAN32__
sl@0
   756
 
sl@0
   757
OilFunctionImpl* __oil_function_impl_mas12_addc_rshift_decim2_u8_ref() {
sl@0
   758
		return &_oil_function_impl_mas12_addc_rshift_decim2_u8_ref;
sl@0
   759
}
sl@0
   760
#endif
sl@0
   761
#if 0
sl@0
   762
#ifdef	__SYMBIAN32__
sl@0
   763
 
sl@0
   764
OilFunctionImpl* __oil_function_impl_mas12across_addc_rshift_u8_ref() {
sl@0
   765
		return &_oil_function_impl_mas12across_addc_rshift_u8_ref;
sl@0
   766
}
sl@0
   767
#endif
sl@0
   768
#endif
sl@0
   769
#ifdef	__SYMBIAN32__
sl@0
   770
 
sl@0
   771
OilFunctionImpl* __oil_function_impl_mas8_addc_rshift_decim2_u8_ref() {
sl@0
   772
		return &_oil_function_impl_mas8_addc_rshift_decim2_u8_ref;
sl@0
   773
}
sl@0
   774
#endif
sl@0
   775
sl@0
   776
sl@0
   777
sl@0
   778
#ifdef	__SYMBIAN32__
sl@0
   779
 
sl@0
   780
EXPORT_C void** _oil_function_class_ptr_mas2_add_s16 ()	{
sl@0
   781
	oil_function_class_ptr_mas2_add_s16 = __oil_function_class_mas2_add_s16();
sl@0
   782
	return &oil_function_class_ptr_mas2_add_s16->func;
sl@0
   783
	}
sl@0
   784
#endif
sl@0
   785
sl@0
   786
#ifdef	__SYMBIAN32__
sl@0
   787
 
sl@0
   788
EXPORT_C void** _oil_function_class_ptr_mas4_add_s16 ()	{
sl@0
   789
	oil_function_class_ptr_mas4_add_s16 = __oil_function_class_mas4_add_s16();
sl@0
   790
	return &oil_function_class_ptr_mas4_add_s16->func;
sl@0
   791
	}
sl@0
   792
#endif
sl@0
   793
sl@0
   794
#ifdef	__SYMBIAN32__
sl@0
   795
 
sl@0
   796
EXPORT_C void** _oil_function_class_ptr_mas8_add_s16 ()	{
sl@0
   797
	oil_function_class_ptr_mas8_add_s16 = __oil_function_class_mas8_add_s16();
sl@0
   798
	return &oil_function_class_ptr_mas8_add_s16->func;
sl@0
   799
	}
sl@0
   800
#endif
sl@0
   801
sl@0
   802
#ifdef	__SYMBIAN32__
sl@0
   803
 
sl@0
   804
EXPORT_C void** _oil_function_class_ptr_mas2_across_add_s16 ()	{
sl@0
   805
	oil_function_class_ptr_mas2_across_add_s16 = __oil_function_class_mas2_across_add_s16();
sl@0
   806
	return &oil_function_class_ptr_mas2_across_add_s16->func;
sl@0
   807
	}
sl@0
   808
#endif
sl@0
   809
sl@0
   810
#ifdef	__SYMBIAN32__
sl@0
   811
 
sl@0
   812
EXPORT_C void** _oil_function_class_ptr_mas4_across_add_s16 ()	{
sl@0
   813
	oil_function_class_ptr_mas4_across_add_s16 = __oil_function_class_mas4_across_add_s16();
sl@0
   814
	return &oil_function_class_ptr_mas4_across_add_s16->func;
sl@0
   815
	}
sl@0
   816
#endif
sl@0
   817
sl@0
   818
#ifdef	__SYMBIAN32__
sl@0
   819
 
sl@0
   820
EXPORT_C void** _oil_function_class_ptr_mas8_across_add_s16 ()	{
sl@0
   821
	oil_function_class_ptr_mas8_across_add_s16 = __oil_function_class_mas8_across_add_s16();
sl@0
   822
	return &oil_function_class_ptr_mas8_across_add_s16->func;
sl@0
   823
	}
sl@0
   824
#endif
sl@0
   825
sl@0
   826
#ifdef	__SYMBIAN32__
sl@0
   827
 
sl@0
   828
EXPORT_C void** _oil_function_class_ptr_mas10_u8 ()	{
sl@0
   829
	oil_function_class_ptr_mas10_u8 = __oil_function_class_mas10_u8();
sl@0
   830
	return &oil_function_class_ptr_mas10_u8->func;
sl@0
   831
	}
sl@0
   832
#endif
sl@0
   833
sl@0
   834
#ifdef	__SYMBIAN32__
sl@0
   835
 
sl@0
   836
EXPORT_C void** _oil_function_class_ptr_mas10_u8_l15 ()	{
sl@0
   837
	oil_function_class_ptr_mas10_u8_l15 = __oil_function_class_mas10_u8_l15();
sl@0
   838
	return &oil_function_class_ptr_mas10_u8_l15->func;
sl@0
   839
	}
sl@0
   840
#endif
sl@0
   841
sl@0
   842
#ifdef	__SYMBIAN32__
sl@0
   843
 
sl@0
   844
EXPORT_C void** _oil_function_class_ptr_mas10_u8_sym_l15 ()	{
sl@0
   845
	oil_function_class_ptr_mas10_u8_sym_l15 = __oil_function_class_mas10_u8_sym_l15();
sl@0
   846
	return &oil_function_class_ptr_mas10_u8_sym_l15->func;
sl@0
   847
	}
sl@0
   848
#endif
sl@0
   849
sl@0
   850
#ifdef	__SYMBIAN32__
sl@0
   851
 
sl@0
   852
EXPORT_C void** _oil_function_class_ptr_mas8_u8 ()	{
sl@0
   853
	oil_function_class_ptr_mas8_u8 = __oil_function_class_mas8_u8();
sl@0
   854
	return &oil_function_class_ptr_mas8_u8->func;
sl@0
   855
	}
sl@0
   856
#endif
sl@0
   857
sl@0
   858
#ifdef	__SYMBIAN32__
sl@0
   859
 
sl@0
   860
EXPORT_C void** _oil_function_class_ptr_mas8_u8_l15 ()	{
sl@0
   861
	oil_function_class_ptr_mas8_u8_l15 = __oil_function_class_mas8_u8_l15();
sl@0
   862
	return &oil_function_class_ptr_mas8_u8_l15->func;
sl@0
   863
	}
sl@0
   864
#endif
sl@0
   865
sl@0
   866
#ifdef	__SYMBIAN32__
sl@0
   867
 
sl@0
   868
EXPORT_C void** _oil_function_class_ptr_mas8_u8_sym_l15 ()	{
sl@0
   869
	oil_function_class_ptr_mas8_u8_sym_l15 = __oil_function_class_mas8_u8_sym_l15();
sl@0
   870
	return &oil_function_class_ptr_mas8_u8_sym_l15->func;
sl@0
   871
	}
sl@0
   872
#endif
sl@0
   873
sl@0
   874
#ifdef	__SYMBIAN32__
sl@0
   875
 
sl@0
   876
EXPORT_C void** _oil_function_class_ptr_mas12_addc_rshift_decim2_u8 ()	{
sl@0
   877
	oil_function_class_ptr_mas12_addc_rshift_decim2_u8 = __oil_function_class_mas12_addc_rshift_decim2_u8();
sl@0
   878
	return &oil_function_class_ptr_mas12_addc_rshift_decim2_u8->func;
sl@0
   879
	}
sl@0
   880
#endif
sl@0
   881
sl@0
   882
#if 0
sl@0
   883
#ifdef	__SYMBIAN32__
sl@0
   884
 
sl@0
   885
EXPORT_C void** _oil_function_class_ptr_mas12across_addc_rshift_u8 ()	{
sl@0
   886
	oil_function_class_ptr_mas12across_addc_rshift_u8 = __oil_function_class_mas12across_addc_rshift_u8();
sl@0
   887
	return &oil_function_class_ptr_mas12across_addc_rshift_u8->func;
sl@0
   888
	}
sl@0
   889
#endif
sl@0
   890
#endif
sl@0
   891
sl@0
   892
#ifdef	__SYMBIAN32__
sl@0
   893
 
sl@0
   894
EXPORT_C void** _oil_function_class_ptr_mas8_addc_rshift_decim2_u8 ()	{
sl@0
   895
	oil_function_class_ptr_mas8_addc_rshift_decim2_u8 = __oil_function_class_mas8_addc_rshift_decim2_u8();
sl@0
   896
	return &oil_function_class_ptr_mas8_addc_rshift_decim2_u8->func;
sl@0
   897
	}
sl@0
   898
#endif
sl@0
   899
sl@0
   900
#ifdef	__SYMBIAN32__
sl@0
   901
 
sl@0
   902
EXPORT_C void** _oil_function_class_ptr_mas8_across_u8 ()	{
sl@0
   903
	oil_function_class_ptr_mas8_across_u8 = __oil_function_class_mas8_across_u8();
sl@0
   904
	return &oil_function_class_ptr_mas8_across_u8->func;
sl@0
   905
	}
sl@0
   906
#endif
sl@0
   907