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 +