os/ossrv/genericopenlibs/liboil/src/ref/math_c.c
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/genericopenlibs/liboil/src/ref/math_c.c	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,1056 @@
     1.4 +/*
     1.5 + * LIBOIL - Library of Optimized Inner Loops
     1.6 + * Copyright (c) 2005 David A. Schleef <ds@schleef.org>
     1.7 + * All rights reserved.
     1.8 + *
     1.9 + * Redistribution and use in source and binary forms, with or without
    1.10 + * modification, are permitted provided that the following conditions
    1.11 + * are met:
    1.12 + * 1. Redistributions of source code must retain the above copyright
    1.13 + *    notice, this list of conditions and the following disclaimer.
    1.14 + * 2. Redistributions in binary form must reproduce the above copyright
    1.15 + *    notice, this list of conditions and the following disclaimer in the
    1.16 + *    documentation and/or other materials provided with the distribution.
    1.17 + * 
    1.18 + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    1.19 + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    1.20 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    1.21 + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
    1.22 + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    1.23 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
    1.24 + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    1.25 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    1.26 + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
    1.27 + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    1.28 + * POSSIBILITY OF SUCH DAMAGE.
    1.29 + */
    1.30 +//Portions Copyright (c)  2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
    1.31 +
    1.32 +#ifdef HAVE_CONFIG_H
    1.33 +#include "config.h"
    1.34 +#endif
    1.35 +
    1.36 +#include <math.h>
    1.37 +
    1.38 +#include <liboil/liboil.h>
    1.39 +#include <liboil/liboilfunction.h>
    1.40 +#include <liboil/liboiltest.h>
    1.41 +
    1.42 +/**
    1.43 + * SECTION:liboilfuncs-math
    1.44 + * @title: Simple Arithmetic
    1.45 + * @short_description: Aritmetic operations
    1.46 + *
    1.47 + */
    1.48 +
    1.49 +/**
    1.50 + * SECTION:liboilfuncs-math8x8
    1.51 + * @title: Simple Arithmetic on Blocks
    1.52 + * @short_description: Aritmetic operations on 8x8 blocks
    1.53 + *
    1.54 + */
    1.55 +
    1.56 +/**
    1.57 + * oil_add_s16:
    1.58 + * @d: destination
    1.59 + * @s1: source 1
    1.60 + * @s2: source 2
    1.61 + * @n: number of elements
    1.62 + *
    1.63 + * Adds elements in @s2 and @s1 and places the result in @d.
    1.64 + */
    1.65 +OIL_DEFINE_CLASS (add_s16, "int16_t *d, int16_t *src1, int16_t *src2, int n");
    1.66 +/**
    1.67 + * oil_subtract_s16:
    1.68 + * @d: destination
    1.69 + * @s1: source 1
    1.70 + * @s2: source 2
    1.71 + * @n: number of elements
    1.72 + *
    1.73 + * Subtracts elements in @s2 from @s1 and places the result in @d.
    1.74 + */
    1.75 +OIL_DEFINE_CLASS (subtract_s16, "int16_t *d, int16_t *src1, int16_t *src2, int n");
    1.76 +/**
    1.77 + * oil_add_s16_u8:
    1.78 + * @d: destination
    1.79 + * @s1: source 1
    1.80 + * @s2: source 2
    1.81 + * @n: number of elements
    1.82 + *
    1.83 + * Adds elements in @s2 and @s1 and places the result in @d.
    1.84 + */
    1.85 +OIL_DEFINE_CLASS (add_s16_u8, "int16_t *d, int16_t *src1, uint8_t *src2, int n");
    1.86 +/**
    1.87 + * oil_subtract_s16_u8:
    1.88 + * @d: destination
    1.89 + * @s1: source 1
    1.90 + * @s2: source 2
    1.91 + * @n: number of elements
    1.92 + *
    1.93 + * Subtracts elements in @s2 from @s1 and places the result in @d.
    1.94 + */
    1.95 +OIL_DEFINE_CLASS (subtract_s16_u8, "int16_t *d, int16_t *src1, uint8_t *src2, int n");
    1.96 +
    1.97 +/**
    1.98 + * oil_add_f32:
    1.99 + * @d: destination
   1.100 + * @s1: source 1
   1.101 + * @s2: source 2
   1.102 + * @n: number of elements
   1.103 + *
   1.104 + * Adds elements in @s2 and @s1 and places the result in @d.
   1.105 + */
   1.106 +OIL_DEFINE_CLASS (add_f32, "float *d, float *s1, float *s2, int n");
   1.107 +
   1.108 +/**
   1.109 + * oil_add_f64:
   1.110 + * @d: destination
   1.111 + * @s1: source 1
   1.112 + * @s2: source 2
   1.113 + * @n: number of elements
   1.114 + *
   1.115 + * Adds elements in @s2 and @s1 and places the result in @d.
   1.116 + */
   1.117 +OIL_DEFINE_CLASS (add_f64, "double *d, double *s1, double *s2, int n");
   1.118 +
   1.119 +
   1.120 +
   1.121 +/**
   1.122 + * oil_subtract_f32:
   1.123 + * @d: destination
   1.124 + * @s1: source 1
   1.125 + * @s2: source 2
   1.126 + * @n: number of elements
   1.127 + *
   1.128 + * Subtracts elements in @s2 from @s1 and places the result in @d.
   1.129 + */
   1.130 +OIL_DEFINE_CLASS (subtract_f32, "float *d, float *s1, float *s2, int n");
   1.131 +/**
   1.132 + * oil_subtract_f64:
   1.133 + * @d: destination
   1.134 + * @s1: source 1
   1.135 + * @s2: source 2
   1.136 + * @n: number of elements
   1.137 + *
   1.138 + * Subtracts elements in @s2 from @s1 and places the result in @d.
   1.139 + */
   1.140 +OIL_DEFINE_CLASS (subtract_f64, "double *d, double *s1, double *s2, int n");
   1.141 +/**
   1.142 + * oil_multiply_f32:
   1.143 + * @d: destination
   1.144 + * @s1: source 1
   1.145 + * @s2: source 2
   1.146 + * @n: number of elements
   1.147 + *
   1.148 + * Multiplies elements in @s1 and @s2 and places the result in @d.
   1.149 + */
   1.150 +OIL_DEFINE_CLASS (multiply_f32, "float *d, float *s1, float *s2, int n");
   1.151 +/**
   1.152 + * oil_multiply_f64:
   1.153 + * @d: destination
   1.154 + * @s1: source 1
   1.155 + * @s2: source 2
   1.156 + * @n: number of elements
   1.157 + *
   1.158 + * Multiplies elements in @s1 and @s2 and places the result in @d.
   1.159 + */
   1.160 +OIL_DEFINE_CLASS (multiply_f64, "double *d, double *s1, double *s2, int n");
   1.161 +/**
   1.162 + * oil_divide_f32:
   1.163 + * @d: destination
   1.164 + * @s1: source 1
   1.165 + * @s2: source 2
   1.166 + * @n: number of elements
   1.167 + *
   1.168 + * Divides elements in @s1 by @s2 and places the result in @d.
   1.169 + */
   1.170 +OIL_DEFINE_CLASS (divide_f32, "float *d, float *s1, float *s2, int n");
   1.171 +/**
   1.172 + * oil_divide_f64:
   1.173 + * @d: destination
   1.174 + * @s1: source 1
   1.175 + * @s2: source 2
   1.176 + * @n: number of elements
   1.177 + *
   1.178 + * Divides elements in @s1 by @s2 and places the result in @d.
   1.179 + */
   1.180 +OIL_DEFINE_CLASS (divide_f64, "double *d, double *s1, double *s2, int n");
   1.181 +/**
   1.182 + * oil_minimum_f32:
   1.183 + * @d: destination
   1.184 + * @s1: source 1
   1.185 + * @s2: source 2
   1.186 + * @n: number of elements
   1.187 + *
   1.188 + * Places the lesser of @s1 and @s2 in @d.
   1.189 + */
   1.190 +OIL_DEFINE_CLASS (minimum_f32, "float *d, float *s1, float *s2, int n");
   1.191 +/**
   1.192 + * oil_minimum_f64:
   1.193 + * @d: destination
   1.194 + * @s1: source 1
   1.195 + * @s2: source 2
   1.196 + * @n: number of elements
   1.197 + *
   1.198 + * Places the lesser of @s1 and @s2 in @d.
   1.199 + */
   1.200 +OIL_DEFINE_CLASS (minimum_f64, "float *d, float *s1, float *s2, int n");
   1.201 +/**
   1.202 + * oil_maximum_f32:
   1.203 + * @d: destination
   1.204 + * @s1: source 1
   1.205 + * @s2: source 2
   1.206 + * @n: number of elements
   1.207 + *
   1.208 + * Places the greater of @s1 and @s2 in @d.
   1.209 + */
   1.210 +OIL_DEFINE_CLASS (maximum_f32, "float *d, float *s1, float *s2, int n");
   1.211 +/**
   1.212 + * oil_maximum_f64:
   1.213 + * @d: destination
   1.214 + * @s1: source 1
   1.215 + * @s2: source 2
   1.216 + * @n: number of elements
   1.217 + *
   1.218 + * Places the greater of @s1 and @s2 in @d.
   1.219 + */
   1.220 +OIL_DEFINE_CLASS (maximum_f64, "float *d, float *s1, float *s2, int n");
   1.221 +
   1.222 +/**
   1.223 + * oil_negative_f32:
   1.224 + * @d: destination
   1.225 + * @s: source
   1.226 + * @n: number of elements
   1.227 + *
   1.228 + * Negates each element in @s and places the result in @d.
   1.229 + */
   1.230 +OIL_DEFINE_CLASS (negative_f32, "float *d, float *s, int n");
   1.231 +/**
   1.232 + * oil_inverse_f32:
   1.233 + * @d: destination
   1.234 + * @s: source
   1.235 + * @n: number of elements
   1.236 + *
   1.237 + * Calculates the multiplicative inverse of each element in @s and
   1.238 + * places the result in @d.
   1.239 + */
   1.240 +OIL_DEFINE_CLASS (inverse_f32, "float *d, float *s, int n");
   1.241 +/**
   1.242 + * oil_sign_f32:
   1.243 + * @d: destination
   1.244 + * @s: source
   1.245 + * @n: number of elements
   1.246 + *
   1.247 + * Calculates the sign of each element in @s and
   1.248 + * places the result in @d.
   1.249 + */
   1.250 +OIL_DEFINE_CLASS (sign_f32, "float *d, float *s, int n");
   1.251 +/**
   1.252 + * oil_floor_f32:
   1.253 + * @d: destination
   1.254 + * @s: source
   1.255 + * @n: number of elements
   1.256 + *
   1.257 + * Calculates the greatest integer less than or equal to each element
   1.258 + * in @s and places the result in @d.
   1.259 + */
   1.260 +OIL_DEFINE_CLASS (floor_f32, "float *d, float *s, int n");
   1.261 +
   1.262 +/**
   1.263 + * oil_scalaradd_f32_ns:
   1.264 + * @d: destination
   1.265 + * @s1: source
   1.266 + * @s2_1: source
   1.267 + * @n: number of elements
   1.268 + *
   1.269 + * Adds the constant value @s2_1 to each source element and places
   1.270 + * the result in @d.
   1.271 + */
   1.272 +OIL_DEFINE_CLASS (scalaradd_f32_ns, "float *d, float *s1, float *s2_1, int n");
   1.273 +/**
   1.274 + * oil_scalarmultiply_f32_ns:
   1.275 + * @d: destination
   1.276 + * @s1: source
   1.277 + * @s2_1: source
   1.278 + * @n: number of elements
   1.279 + *
   1.280 + * Multiplies the constant value @s2_1 and each source element and places
   1.281 + * the result in @d.
   1.282 + */
   1.283 +OIL_DEFINE_CLASS (scalarmultiply_f32_ns, "float *d, float *s1, float *s2_1, int n");
   1.284 +
   1.285 +/**
   1.286 + * oil_scalarmultiply_f64_ns:
   1.287 + * @d: destination
   1.288 + * @s1: source
   1.289 + * @s2_1: source
   1.290 + * @n: number of elements
   1.291 + *
   1.292 + * Multiplies the constant value @s2_1 and each source element and places
   1.293 + * the result in @d.
   1.294 + */
   1.295 +OIL_DEFINE_CLASS (scalarmultiply_f64_ns, "double *d, double *s1, double *s2_1, int n");
   1.296 +
   1.297 +static void
   1.298 +add_s16_ref (int16_t *d, int16_t *src1, int16_t *src2, int n)
   1.299 +{
   1.300 +  int i;
   1.301 +  for(i=0;i<n;i++){
   1.302 +    d[i] = src1[i] + src2[i];
   1.303 +  }
   1.304 +}
   1.305 +OIL_DEFINE_IMPL_REF (add_s16_ref, add_s16);
   1.306 +
   1.307 +static void
   1.308 +subtract_s16_ref (int16_t *d, int16_t *src1, int16_t *src2, int n)
   1.309 +{
   1.310 +  int i;
   1.311 +  for(i=0;i<n;i++){
   1.312 +    d[i] = src1[i] - src2[i];
   1.313 +  }
   1.314 +}
   1.315 +OIL_DEFINE_IMPL_REF (subtract_s16_ref, subtract_s16);
   1.316 +
   1.317 +static void
   1.318 +add_s16_u8_ref (int16_t *d, int16_t *src1, uint8_t *src2, int n)
   1.319 +{
   1.320 +  int i;
   1.321 +  for(i=0;i<n;i++){
   1.322 +    d[i] = src1[i] + src2[i];
   1.323 +  }
   1.324 +}
   1.325 +OIL_DEFINE_IMPL_REF (add_s16_u8_ref, add_s16_u8);
   1.326 +
   1.327 +static void
   1.328 +subtract_s16_u8_ref (int16_t *d, int16_t *src1, uint8_t *src2, int n)
   1.329 +{
   1.330 +  int i;
   1.331 +  for(i=0;i<n;i++){
   1.332 +    d[i] = src1[i] - src2[i];
   1.333 +  }
   1.334 +}
   1.335 +OIL_DEFINE_IMPL_REF (subtract_s16_u8_ref, subtract_s16_u8);
   1.336 +
   1.337 +static void
   1.338 +add_f32_ref (float *dest, float *src1, float *src2, int n)
   1.339 +{
   1.340 +  int i;
   1.341 +
   1.342 +  for(i=0;i<n;i++){
   1.343 +    dest[i] = src1[i] + src2[i];
   1.344 +  }
   1.345 +}
   1.346 +OIL_DEFINE_IMPL_REF (add_f32_ref, add_f32);
   1.347 +
   1.348 +static void
   1.349 +add_f64_ref (double *dest, double *src1, double *src2, int n)
   1.350 +{
   1.351 +  int i;
   1.352 +
   1.353 +  for(i=0;i<n;i++){
   1.354 +    dest[i] = src1[i] + src2[i];
   1.355 +  }
   1.356 +}
   1.357 +OIL_DEFINE_IMPL_REF (add_f64_ref, add_f64);
   1.358 +
   1.359 +static void
   1.360 +subtract_f32_ref (float *dest, float *src1, float *src2, int n)
   1.361 +{
   1.362 +  int i;
   1.363 +
   1.364 +  for(i=0;i<n;i++){
   1.365 +    dest[i] = src1[i] - src2[i];
   1.366 +  }
   1.367 +}
   1.368 +OIL_DEFINE_IMPL_REF (subtract_f32_ref, subtract_f32);
   1.369 +
   1.370 +static void
   1.371 +subtract_f64_ref (double *dest, double *src1, double *src2, int n)
   1.372 +{
   1.373 +  int i;
   1.374 +
   1.375 +  for(i=0;i<n;i++){
   1.376 +    dest[i] = src1[i] - src2[i];
   1.377 +  }
   1.378 +}
   1.379 +OIL_DEFINE_IMPL_REF (subtract_f64_ref, subtract_f64);
   1.380 +
   1.381 +static void
   1.382 +multiply_f32_ref (float *dest, float *src1, float *src2, int n)
   1.383 +{
   1.384 +  int i;
   1.385 +
   1.386 +  for(i=0;i<n;i++){
   1.387 +    dest[i] = src1[i] * src2[i];
   1.388 +  }
   1.389 +}
   1.390 +OIL_DEFINE_IMPL_REF (multiply_f32_ref, multiply_f32);
   1.391 +
   1.392 +static void
   1.393 +multiply_f64_ref (double *dest, double *src1, double *src2, int n)
   1.394 +{
   1.395 +  int i;
   1.396 +
   1.397 +  for(i=0;i<n;i++){
   1.398 +    dest[i] = src1[i] * src2[i];
   1.399 +  }
   1.400 +}
   1.401 +OIL_DEFINE_IMPL_REF (multiply_f64_ref, multiply_f64);
   1.402 +
   1.403 +static void
   1.404 +divide_f32_ref (float *dest, float *src1, float *src2, int n)
   1.405 +{
   1.406 +  int i;
   1.407 +
   1.408 +  for(i=0;i<n;i++){
   1.409 +    dest[i] = src1[i] / src2[i];
   1.410 +  }
   1.411 +}
   1.412 +OIL_DEFINE_IMPL_REF (divide_f32_ref, divide_f32);
   1.413 +
   1.414 +static void
   1.415 +divide_f64_ref (double *dest, double *src1, double *src2, int n)
   1.416 +{
   1.417 +  int i;
   1.418 +
   1.419 +  for(i=0;i<n;i++){
   1.420 +    dest[i] = src1[i] / src2[i];
   1.421 +  }
   1.422 +}
   1.423 +OIL_DEFINE_IMPL_REF (divide_f64_ref, divide_f64);
   1.424 +
   1.425 +static void
   1.426 +minimum_f32_ref (float *dest, float *src1, float *src2, int n)
   1.427 +{
   1.428 +  int i;
   1.429 +
   1.430 +  for(i=0;i<n;i++){
   1.431 +    dest[i] = (src1[i] < src2[i]) ? src1[i] : src2[i];
   1.432 +  }
   1.433 +}
   1.434 +OIL_DEFINE_IMPL_REF (minimum_f32_ref, minimum_f32);
   1.435 +
   1.436 +static void
   1.437 +maximum_f32_ref (float *dest, float *src1, float *src2, int n)
   1.438 +{
   1.439 +  int i;
   1.440 +
   1.441 +  for(i=0;i<n;i++){
   1.442 +    dest[i] = (src1[i] > src2[i]) ? src1[i] : src2[i];
   1.443 +  }
   1.444 +}
   1.445 +OIL_DEFINE_IMPL_REF (maximum_f32_ref, maximum_f32);
   1.446 +
   1.447 +static void
   1.448 +minimum_f64_ref (float *dest, float *src1, float *src2, int n)
   1.449 +{
   1.450 +  int i;
   1.451 +
   1.452 +  for(i=0;i<n;i++){
   1.453 +    dest[i] = (src1[i] < src2[i]) ? src1[i] : src2[i];
   1.454 +  }
   1.455 +}
   1.456 +OIL_DEFINE_IMPL_REF (minimum_f64_ref, minimum_f64);
   1.457 +
   1.458 +static void
   1.459 +maximum_f64_ref (float *dest, float *src1, float *src2, int n)
   1.460 +{
   1.461 +  int i;
   1.462 +
   1.463 +  for(i=0;i<n;i++){
   1.464 +    dest[i] = (src1[i] > src2[i]) ? src1[i] : src2[i];
   1.465 +  }
   1.466 +}
   1.467 +OIL_DEFINE_IMPL_REF (maximum_f64_ref, maximum_f64);
   1.468 +
   1.469 +static void
   1.470 +negative_f32_ref (float *dest, float *src1, int n)
   1.471 +{
   1.472 +  int i;
   1.473 +
   1.474 +  for(i=0;i<n;i++){
   1.475 +    dest[i] = -src1[i];
   1.476 +  }
   1.477 +}
   1.478 +OIL_DEFINE_IMPL_REF (negative_f32_ref, negative_f32);
   1.479 +
   1.480 +static void
   1.481 +inverse_f32_ref (float *dest, float *src1, int n)
   1.482 +{
   1.483 +  int i;
   1.484 +
   1.485 +  for(i=0;i<n;i++){
   1.486 +    dest[i] = 1.0/src1[i];
   1.487 +  }
   1.488 +}
   1.489 +OIL_DEFINE_IMPL_REF (inverse_f32_ref, inverse_f32);
   1.490 +
   1.491 +static void
   1.492 +sign_f32_ref (float *dest, float *src1, int n)
   1.493 +{
   1.494 +  int i;
   1.495 +
   1.496 +  for(i=0;i<n;i++){
   1.497 +    dest[i] = (src1[i] < 0) ? -src1[i] : src1[i];
   1.498 +  }
   1.499 +}
   1.500 +OIL_DEFINE_IMPL_REF (sign_f32_ref, sign_f32);
   1.501 +
   1.502 +static void
   1.503 +floor_f32_ref (float *dest, float *src1, int n)
   1.504 +{
   1.505 +  int i;
   1.506 +
   1.507 +  for(i=0;i<n;i++){
   1.508 +    dest[i] = floor(src1[i]);
   1.509 +  }
   1.510 +}
   1.511 +OIL_DEFINE_IMPL_REF (floor_f32_ref, floor_f32);
   1.512 +
   1.513 +
   1.514 +
   1.515 +static void
   1.516 +scalaradd_f32_ns_ref (float *dest, float *src1, float *src2, int n)
   1.517 +{
   1.518 +  int i;
   1.519 +
   1.520 +  for(i=0;i<n;i++){
   1.521 +    dest[i] = src1[i] + src2[0];
   1.522 +  }
   1.523 +}
   1.524 +OIL_DEFINE_IMPL_REF (scalaradd_f32_ns_ref, scalaradd_f32_ns);
   1.525 +
   1.526 +static void
   1.527 +scalarmultiply_f32_ns_ref (float *dest, float *src1, float *src2, int n)
   1.528 +{
   1.529 +  int i;
   1.530 +
   1.531 +  for(i=0;i<n;i++){
   1.532 +    dest[i] = src1[i] * src2[0];
   1.533 +  }
   1.534 +}
   1.535 +OIL_DEFINE_IMPL_REF (scalarmultiply_f32_ns_ref, scalarmultiply_f32_ns);
   1.536 +
   1.537 +static void
   1.538 +scalarmultiply_f64_ns_ref (double *dest, double *src1, double *src2, int n)
   1.539 +{
   1.540 +  int i;
   1.541 +
   1.542 +  for(i=0;i<n;i++){
   1.543 +    dest[i] = src1[i] * src2[0];
   1.544 +  }
   1.545 +}
   1.546 +OIL_DEFINE_IMPL_REF (scalarmultiply_f64_ns_ref, scalarmultiply_f64_ns);
   1.547 +
   1.548 +
   1.549 +
   1.550 +#ifdef	__SYMBIAN32__
   1.551 + 
   1.552 +OilFunctionClass* __oil_function_class_add_s16() {
   1.553 +		return &_oil_function_class_add_s16;
   1.554 +}
   1.555 +#endif
   1.556 +
   1.557 +#ifdef	__SYMBIAN32__
   1.558 + 
   1.559 +OilFunctionClass* __oil_function_class_subtract_s16() {
   1.560 +		return &_oil_function_class_subtract_s16;
   1.561 +}
   1.562 +#endif
   1.563 +
   1.564 +#ifdef	__SYMBIAN32__
   1.565 + 
   1.566 +OilFunctionClass* __oil_function_class_add_s16_u8() {
   1.567 +		return &_oil_function_class_add_s16_u8;
   1.568 +}
   1.569 +#endif
   1.570 +
   1.571 +#ifdef	__SYMBIAN32__
   1.572 + 
   1.573 +OilFunctionClass* __oil_function_class_subtract_s16_u8() {
   1.574 +		return &_oil_function_class_subtract_s16_u8;
   1.575 +}
   1.576 +#endif
   1.577 +
   1.578 +#ifdef	__SYMBIAN32__
   1.579 + 
   1.580 +OilFunctionClass* __oil_function_class_add_f32() {
   1.581 +		return &_oil_function_class_add_f32;
   1.582 +}
   1.583 +#endif
   1.584 +
   1.585 +#ifdef	__SYMBIAN32__
   1.586 + 
   1.587 +OilFunctionClass* __oil_function_class_add_f64() {
   1.588 +		return &_oil_function_class_add_f64;
   1.589 +}
   1.590 +#endif
   1.591 +
   1.592 +#ifdef	__SYMBIAN32__
   1.593 + 
   1.594 +OilFunctionClass* __oil_function_class_subtract_f32() {
   1.595 +		return &_oil_function_class_subtract_f32;
   1.596 +}
   1.597 +#endif
   1.598 +
   1.599 +#ifdef	__SYMBIAN32__
   1.600 + 
   1.601 +OilFunctionClass* __oil_function_class_subtract_f64() {
   1.602 +		return &_oil_function_class_subtract_f64;
   1.603 +}
   1.604 +#endif
   1.605 +
   1.606 +#ifdef	__SYMBIAN32__
   1.607 + 
   1.608 +OilFunctionClass* __oil_function_class_multiply_f32() {
   1.609 +		return &_oil_function_class_multiply_f32;
   1.610 +}
   1.611 +#endif
   1.612 +
   1.613 +#ifdef	__SYMBIAN32__
   1.614 + 
   1.615 +OilFunctionClass* __oil_function_class_multiply_f64() {
   1.616 +		return &_oil_function_class_multiply_f64;
   1.617 +}
   1.618 +#endif
   1.619 +
   1.620 +#ifdef	__SYMBIAN32__
   1.621 + 
   1.622 +OilFunctionClass* __oil_function_class_divide_f32() {
   1.623 +		return &_oil_function_class_divide_f32;
   1.624 +}
   1.625 +#endif
   1.626 +
   1.627 +#ifdef	__SYMBIAN32__
   1.628 + 
   1.629 +OilFunctionClass* __oil_function_class_divide_f64() {
   1.630 +		return &_oil_function_class_divide_f64;
   1.631 +}
   1.632 +#endif
   1.633 +
   1.634 +#ifdef	__SYMBIAN32__
   1.635 + 
   1.636 +OilFunctionClass* __oil_function_class_minimum_f32() {
   1.637 +		return &_oil_function_class_minimum_f32;
   1.638 +}
   1.639 +#endif
   1.640 +
   1.641 +#ifdef	__SYMBIAN32__
   1.642 + 
   1.643 +OilFunctionClass* __oil_function_class_minimum_f64() {
   1.644 +		return &_oil_function_class_minimum_f64;
   1.645 +}
   1.646 +#endif
   1.647 +
   1.648 +#ifdef	__SYMBIAN32__
   1.649 + 
   1.650 +OilFunctionClass* __oil_function_class_maximum_f32() {
   1.651 +		return &_oil_function_class_maximum_f32;
   1.652 +}
   1.653 +#endif
   1.654 +
   1.655 +#ifdef	__SYMBIAN32__
   1.656 + 
   1.657 +OilFunctionClass* __oil_function_class_maximum_f64() {
   1.658 +		return &_oil_function_class_maximum_f64;
   1.659 +}
   1.660 +#endif
   1.661 +
   1.662 +#ifdef	__SYMBIAN32__
   1.663 + 
   1.664 +OilFunctionClass* __oil_function_class_negative_f32() {
   1.665 +		return &_oil_function_class_negative_f32;
   1.666 +}
   1.667 +#endif
   1.668 +
   1.669 +#ifdef	__SYMBIAN32__
   1.670 + 
   1.671 +OilFunctionClass* __oil_function_class_inverse_f32() {
   1.672 +		return &_oil_function_class_inverse_f32;
   1.673 +}
   1.674 +#endif
   1.675 +
   1.676 +#ifdef	__SYMBIAN32__
   1.677 + 
   1.678 +OilFunctionClass* __oil_function_class_sign_f32() {
   1.679 +		return &_oil_function_class_sign_f32;
   1.680 +}
   1.681 +#endif
   1.682 +
   1.683 +#ifdef	__SYMBIAN32__
   1.684 + 
   1.685 +OilFunctionClass* __oil_function_class_floor_f32() {
   1.686 +		return &_oil_function_class_floor_f32;
   1.687 +}
   1.688 +#endif
   1.689 +
   1.690 +#ifdef	__SYMBIAN32__
   1.691 + 
   1.692 +OilFunctionClass* __oil_function_class_scalaradd_f32_ns() {
   1.693 +		return &_oil_function_class_scalaradd_f32_ns;
   1.694 +}
   1.695 +#endif
   1.696 +
   1.697 +#ifdef	__SYMBIAN32__
   1.698 + 
   1.699 +OilFunctionClass* __oil_function_class_scalarmultiply_f32_ns() {
   1.700 +		return &_oil_function_class_scalarmultiply_f32_ns;
   1.701 +}
   1.702 +#endif
   1.703 +
   1.704 +#ifdef	__SYMBIAN32__
   1.705 + 
   1.706 +OilFunctionClass* __oil_function_class_scalarmultiply_f64_ns() {
   1.707 +		return &_oil_function_class_scalarmultiply_f64_ns;
   1.708 +}
   1.709 +#endif
   1.710 +
   1.711 +
   1.712 +
   1.713 +#ifdef	__SYMBIAN32__
   1.714 + 
   1.715 +OilFunctionImpl* __oil_function_impl_add_s16_ref() {
   1.716 +		return &_oil_function_impl_add_s16_ref;
   1.717 +}
   1.718 +#endif
   1.719 +
   1.720 +#ifdef	__SYMBIAN32__
   1.721 + 
   1.722 +OilFunctionImpl* __oil_function_impl_subtract_s16_ref() {
   1.723 +		return &_oil_function_impl_subtract_s16_ref;
   1.724 +}
   1.725 +#endif
   1.726 +
   1.727 +#ifdef	__SYMBIAN32__
   1.728 + 
   1.729 +OilFunctionImpl* __oil_function_impl_add_s16_u8_ref() {
   1.730 +		return &_oil_function_impl_add_s16_u8_ref;
   1.731 +}
   1.732 +#endif
   1.733 +
   1.734 +#ifdef	__SYMBIAN32__
   1.735 + 
   1.736 +OilFunctionImpl* __oil_function_impl_subtract_s16_u8_ref() {
   1.737 +		return &_oil_function_impl_subtract_s16_u8_ref;
   1.738 +}
   1.739 +#endif
   1.740 +
   1.741 +#ifdef	__SYMBIAN32__
   1.742 + 
   1.743 +OilFunctionImpl* __oil_function_impl_add_f32_ref() {
   1.744 +		return &_oil_function_impl_add_f32_ref;
   1.745 +}
   1.746 +#endif
   1.747 +
   1.748 +#ifdef	__SYMBIAN32__
   1.749 + 
   1.750 +OilFunctionImpl* __oil_function_impl_add_f64_ref() {
   1.751 +		return &_oil_function_impl_add_f64_ref;
   1.752 +}
   1.753 +#endif
   1.754 +
   1.755 +#ifdef	__SYMBIAN32__
   1.756 + 
   1.757 +OilFunctionImpl* __oil_function_impl_subtract_f32_ref() {
   1.758 +		return &_oil_function_impl_subtract_f32_ref;
   1.759 +}
   1.760 +#endif
   1.761 +
   1.762 +#ifdef	__SYMBIAN32__
   1.763 + 
   1.764 +OilFunctionImpl* __oil_function_impl_subtract_f64_ref() {
   1.765 +		return &_oil_function_impl_subtract_f64_ref;
   1.766 +}
   1.767 +#endif
   1.768 +
   1.769 +#ifdef	__SYMBIAN32__
   1.770 + 
   1.771 +OilFunctionImpl* __oil_function_impl_multiply_f32_ref() {
   1.772 +		return &_oil_function_impl_multiply_f32_ref;
   1.773 +}
   1.774 +#endif
   1.775 +
   1.776 +#ifdef	__SYMBIAN32__
   1.777 + 
   1.778 +OilFunctionImpl* __oil_function_impl_multiply_f64_ref() {
   1.779 +		return &_oil_function_impl_multiply_f64_ref;
   1.780 +}
   1.781 +#endif
   1.782 +
   1.783 +#ifdef	__SYMBIAN32__
   1.784 + 
   1.785 +OilFunctionImpl* __oil_function_impl_divide_f32_ref() {
   1.786 +		return &_oil_function_impl_divide_f32_ref;
   1.787 +}
   1.788 +#endif
   1.789 +
   1.790 +#ifdef	__SYMBIAN32__
   1.791 + 
   1.792 +OilFunctionImpl* __oil_function_impl_divide_f64_ref() {
   1.793 +		return &_oil_function_impl_divide_f64_ref;
   1.794 +}
   1.795 +#endif
   1.796 +
   1.797 +#ifdef	__SYMBIAN32__
   1.798 + 
   1.799 +OilFunctionImpl* __oil_function_impl_minimum_f32_ref() {
   1.800 +		return &_oil_function_impl_minimum_f32_ref;
   1.801 +}
   1.802 +#endif
   1.803 +
   1.804 +#ifdef	__SYMBIAN32__
   1.805 + 
   1.806 +OilFunctionImpl* __oil_function_impl_maximum_f32_ref() {
   1.807 +		return &_oil_function_impl_maximum_f32_ref;
   1.808 +}
   1.809 +#endif
   1.810 +
   1.811 +#ifdef	__SYMBIAN32__
   1.812 + 
   1.813 +OilFunctionImpl* __oil_function_impl_minimum_f64_ref() {
   1.814 +		return &_oil_function_impl_minimum_f64_ref;
   1.815 +}
   1.816 +#endif
   1.817 +
   1.818 +#ifdef	__SYMBIAN32__
   1.819 + 
   1.820 +OilFunctionImpl* __oil_function_impl_maximum_f64_ref() {
   1.821 +		return &_oil_function_impl_maximum_f64_ref;
   1.822 +}
   1.823 +#endif
   1.824 +
   1.825 +#ifdef	__SYMBIAN32__
   1.826 + 
   1.827 +OilFunctionImpl* __oil_function_impl_negative_f32_ref() {
   1.828 +		return &_oil_function_impl_negative_f32_ref;
   1.829 +}
   1.830 +#endif
   1.831 +
   1.832 +#ifdef	__SYMBIAN32__
   1.833 + 
   1.834 +OilFunctionImpl* __oil_function_impl_inverse_f32_ref() {
   1.835 +		return &_oil_function_impl_inverse_f32_ref;
   1.836 +}
   1.837 +#endif
   1.838 +
   1.839 +#ifdef	__SYMBIAN32__
   1.840 + 
   1.841 +OilFunctionImpl* __oil_function_impl_sign_f32_ref() {
   1.842 +		return &_oil_function_impl_sign_f32_ref;
   1.843 +}
   1.844 +#endif
   1.845 +
   1.846 +#ifdef	__SYMBIAN32__
   1.847 + 
   1.848 +OilFunctionImpl* __oil_function_impl_floor_f32_ref() {
   1.849 +		return &_oil_function_impl_floor_f32_ref;
   1.850 +}
   1.851 +#endif
   1.852 +
   1.853 +#ifdef	__SYMBIAN32__
   1.854 + 
   1.855 +OilFunctionImpl* __oil_function_impl_scalaradd_f32_ns_ref() {
   1.856 +		return &_oil_function_impl_scalaradd_f32_ns_ref;
   1.857 +}
   1.858 +#endif
   1.859 +
   1.860 +#ifdef	__SYMBIAN32__
   1.861 + 
   1.862 +OilFunctionImpl* __oil_function_impl_scalarmultiply_f32_ns_ref() {
   1.863 +		return &_oil_function_impl_scalarmultiply_f32_ns_ref;
   1.864 +}
   1.865 +#endif
   1.866 +
   1.867 +#ifdef	__SYMBIAN32__
   1.868 + 
   1.869 +OilFunctionImpl* __oil_function_impl_scalarmultiply_f64_ns_ref() {
   1.870 +		return &_oil_function_impl_scalarmultiply_f64_ns_ref;
   1.871 +}
   1.872 +#endif
   1.873 +
   1.874 +
   1.875 +
   1.876 +#ifdef	__SYMBIAN32__
   1.877 + 
   1.878 +EXPORT_C void** _oil_function_class_ptr_add_s16 ()	{
   1.879 +	oil_function_class_ptr_add_s16 = __oil_function_class_add_s16();
   1.880 +	return &oil_function_class_ptr_add_s16->func;
   1.881 +	}
   1.882 +#endif
   1.883 +
   1.884 +#ifdef	__SYMBIAN32__
   1.885 + 
   1.886 +EXPORT_C void** _oil_function_class_ptr_subtract_s16 ()	{
   1.887 +	oil_function_class_ptr_subtract_s16 = __oil_function_class_subtract_s16();
   1.888 +	return &oil_function_class_ptr_subtract_s16->func;
   1.889 +	}
   1.890 +#endif
   1.891 +
   1.892 +#ifdef	__SYMBIAN32__
   1.893 + 
   1.894 +EXPORT_C void** _oil_function_class_ptr_add_s16_u8 ()	{
   1.895 +	oil_function_class_ptr_add_s16_u8 = __oil_function_class_add_s16_u8();
   1.896 +	return &oil_function_class_ptr_add_s16_u8->func;
   1.897 +	}
   1.898 +#endif
   1.899 +
   1.900 +#ifdef	__SYMBIAN32__
   1.901 + 
   1.902 +EXPORT_C void** _oil_function_class_ptr_subtract_s16_u8 ()	{
   1.903 +	oil_function_class_ptr_subtract_s16_u8 = __oil_function_class_subtract_s16_u8();
   1.904 +	return &oil_function_class_ptr_subtract_s16_u8->func;
   1.905 +	}
   1.906 +#endif
   1.907 +
   1.908 +#ifdef	__SYMBIAN32__
   1.909 + 
   1.910 +EXPORT_C void** _oil_function_class_ptr_add_f32 ()	{
   1.911 +	oil_function_class_ptr_add_f32 = __oil_function_class_add_f32();
   1.912 +	return &oil_function_class_ptr_add_f32->func;
   1.913 +	}
   1.914 +#endif
   1.915 +
   1.916 +#ifdef	__SYMBIAN32__
   1.917 + 
   1.918 +EXPORT_C void** _oil_function_class_ptr_add_f64 ()	{
   1.919 +	oil_function_class_ptr_add_f64 = __oil_function_class_add_f64();
   1.920 +	return &oil_function_class_ptr_add_f64->func;
   1.921 +	}
   1.922 +#endif
   1.923 +
   1.924 +#ifdef	__SYMBIAN32__
   1.925 + 
   1.926 +EXPORT_C void** _oil_function_class_ptr_subtract_f32 ()	{
   1.927 +	oil_function_class_ptr_subtract_f32 = __oil_function_class_subtract_f32();
   1.928 +	return &oil_function_class_ptr_subtract_f32->func;
   1.929 +	}
   1.930 +#endif
   1.931 +
   1.932 +#ifdef	__SYMBIAN32__
   1.933 + 
   1.934 +EXPORT_C void** _oil_function_class_ptr_subtract_f64 ()	{
   1.935 +	oil_function_class_ptr_subtract_f64 = __oil_function_class_subtract_f64();
   1.936 +	return &oil_function_class_ptr_subtract_f64->func;
   1.937 +	}
   1.938 +#endif
   1.939 +
   1.940 +#ifdef	__SYMBIAN32__
   1.941 + 
   1.942 +EXPORT_C void** _oil_function_class_ptr_multiply_f32 ()	{
   1.943 +	oil_function_class_ptr_multiply_f32 = __oil_function_class_multiply_f32();
   1.944 +	return &oil_function_class_ptr_multiply_f32->func;
   1.945 +	}
   1.946 +#endif
   1.947 +
   1.948 +#ifdef	__SYMBIAN32__
   1.949 + 
   1.950 +EXPORT_C void** _oil_function_class_ptr_multiply_f64 ()	{
   1.951 +	oil_function_class_ptr_multiply_f64 = __oil_function_class_multiply_f64();
   1.952 +	return &oil_function_class_ptr_multiply_f64->func;
   1.953 +	}
   1.954 +#endif
   1.955 +
   1.956 +#ifdef	__SYMBIAN32__
   1.957 + 
   1.958 +EXPORT_C void** _oil_function_class_ptr_divide_f32 ()	{
   1.959 +	oil_function_class_ptr_divide_f32 = __oil_function_class_divide_f32();
   1.960 +	return &oil_function_class_ptr_divide_f32->func;
   1.961 +	}
   1.962 +#endif
   1.963 +
   1.964 +#ifdef	__SYMBIAN32__
   1.965 + 
   1.966 +EXPORT_C void** _oil_function_class_ptr_divide_f64 ()	{
   1.967 +	oil_function_class_ptr_divide_f64 = __oil_function_class_divide_f64();
   1.968 +	return &oil_function_class_ptr_divide_f64->func;
   1.969 +	}
   1.970 +#endif
   1.971 +
   1.972 +#ifdef	__SYMBIAN32__
   1.973 + 
   1.974 +EXPORT_C void** _oil_function_class_ptr_minimum_f32 ()	{
   1.975 +	oil_function_class_ptr_minimum_f32 = __oil_function_class_minimum_f32();
   1.976 +	return &oil_function_class_ptr_minimum_f32->func;
   1.977 +	}
   1.978 +#endif
   1.979 +
   1.980 +#ifdef	__SYMBIAN32__
   1.981 + 
   1.982 +EXPORT_C void** _oil_function_class_ptr_minimum_f64 ()	{
   1.983 +	oil_function_class_ptr_minimum_f64 = __oil_function_class_minimum_f64();
   1.984 +	return &oil_function_class_ptr_minimum_f64->func;
   1.985 +	}
   1.986 +#endif
   1.987 +
   1.988 +#ifdef	__SYMBIAN32__
   1.989 + 
   1.990 +EXPORT_C void** _oil_function_class_ptr_maximum_f32 ()	{
   1.991 +	oil_function_class_ptr_maximum_f32 = __oil_function_class_maximum_f32();
   1.992 +	return &oil_function_class_ptr_maximum_f32->func;
   1.993 +	}
   1.994 +#endif
   1.995 +
   1.996 +#ifdef	__SYMBIAN32__
   1.997 + 
   1.998 +EXPORT_C void** _oil_function_class_ptr_maximum_f64 ()	{
   1.999 +	oil_function_class_ptr_maximum_f64 = __oil_function_class_maximum_f64();
  1.1000 +	return &oil_function_class_ptr_maximum_f64->func;
  1.1001 +	}
  1.1002 +#endif
  1.1003 +
  1.1004 +#ifdef	__SYMBIAN32__
  1.1005 + 
  1.1006 +EXPORT_C void** _oil_function_class_ptr_negative_f32 ()	{
  1.1007 +	oil_function_class_ptr_negative_f32 = __oil_function_class_negative_f32();
  1.1008 +	return &oil_function_class_ptr_negative_f32->func;
  1.1009 +	}
  1.1010 +#endif
  1.1011 +
  1.1012 +#ifdef	__SYMBIAN32__
  1.1013 + 
  1.1014 +EXPORT_C void** _oil_function_class_ptr_inverse_f32 ()	{
  1.1015 +	oil_function_class_ptr_inverse_f32 = __oil_function_class_inverse_f32();
  1.1016 +	return &oil_function_class_ptr_inverse_f32->func;
  1.1017 +	}
  1.1018 +#endif
  1.1019 +
  1.1020 +#ifdef	__SYMBIAN32__
  1.1021 + 
  1.1022 +EXPORT_C void** _oil_function_class_ptr_sign_f32 ()	{
  1.1023 +	oil_function_class_ptr_sign_f32 = __oil_function_class_sign_f32();
  1.1024 +	return &oil_function_class_ptr_sign_f32->func;
  1.1025 +	}
  1.1026 +#endif
  1.1027 +
  1.1028 +#ifdef	__SYMBIAN32__
  1.1029 + 
  1.1030 +EXPORT_C void** _oil_function_class_ptr_floor_f32 ()	{
  1.1031 +	oil_function_class_ptr_floor_f32 = __oil_function_class_floor_f32();
  1.1032 +	return &oil_function_class_ptr_floor_f32->func;
  1.1033 +	}
  1.1034 +#endif
  1.1035 +
  1.1036 +#ifdef	__SYMBIAN32__
  1.1037 + 
  1.1038 +EXPORT_C void** _oil_function_class_ptr_scalaradd_f32_ns ()	{
  1.1039 +	oil_function_class_ptr_scalaradd_f32_ns = __oil_function_class_scalaradd_f32_ns();
  1.1040 +	return &oil_function_class_ptr_scalaradd_f32_ns->func;
  1.1041 +	}
  1.1042 +#endif
  1.1043 +
  1.1044 +#ifdef	__SYMBIAN32__
  1.1045 + 
  1.1046 +EXPORT_C void** _oil_function_class_ptr_scalarmultiply_f32_ns ()	{
  1.1047 +	oil_function_class_ptr_scalarmultiply_f32_ns = __oil_function_class_scalarmultiply_f32_ns();
  1.1048 +	return &oil_function_class_ptr_scalarmultiply_f32_ns->func;
  1.1049 +	}
  1.1050 +#endif
  1.1051 +
  1.1052 +#ifdef	__SYMBIAN32__
  1.1053 + 
  1.1054 +EXPORT_C void** _oil_function_class_ptr_scalarmultiply_f64_ns ()	{
  1.1055 +	oil_function_class_ptr_scalarmultiply_f64_ns = __oil_function_class_scalarmultiply_f64_ns();
  1.1056 +	return &oil_function_class_ptr_scalarmultiply_f64_ns->func;
  1.1057 +	}
  1.1058 +#endif
  1.1059 +