diff -r e4d67989cc36 -r 47c74d1534e1 genericopenlibs/liboil/src/convert.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genericopenlibs/liboil/src/convert.c Fri Apr 16 16:46:38 2010 +0300 @@ -0,0 +1,1828 @@ +/* + * LIBOIL - Library of Optimized Inner Loops + * Copyright (c) 2001,2003,2004 David A. Schleef + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +//Portions Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include + +#include +#include +#include + + +/** + * SECTION:liboilfuncs-conv + * @title: Type Conversion + * @short_description: Type conversion + * + * The functions in this section perform type conversion. + * + * The convert functions convert value from the source type to + * the destination type. Conversion of values outside the + * destination range are saturated to the destination range. + * + * The scaleconv functions multiply the source values by a + * constant factor before converting to the destination type. Conversion + * of values outside the destination range are clamped to the + * destination range. + * + * Conversion of values from floating point types to integer types + * is done using a round-to-nearest policy. Rounding of half-integers + * is undefined and may vary between implementations. + */ + + +static void +convert_float_test (OilTest *test) +{ + int i; + int n; + double min = 0; + double max = 1; + void *data = oil_test_get_source_data (test, OIL_ARG_SRC1); + + n = test->params[OIL_ARG_SRC1].post_n; + + switch(test->params[OIL_ARG_DEST1].type) { + case OIL_TYPE_s8p: + min = oil_type_min_s8; + max = oil_type_max_s8; + break; + case OIL_TYPE_u8p: + min = oil_type_min_u8; + max = oil_type_max_u8; + break; + case OIL_TYPE_s16p: + min = oil_type_min_s16; + max = oil_type_max_s16; + break; + case OIL_TYPE_u16p: + min = oil_type_min_u16; + max = oil_type_max_u16; + break; + case OIL_TYPE_s32p: + min = oil_type_min_s32; + max = oil_type_max_s32; + break; + case OIL_TYPE_u32p: + min = oil_type_min_u32; + max = oil_type_max_u32; + break; + default: + break; + } + + switch (test->params[OIL_ARG_SRC1].type) { + case OIL_TYPE_f32p: + for(i=0;ioil_type_max_ ## desttype) x=oil_type_max_ ## desttype; \ + dest[i] = x; \ + } \ +} \ +OIL_DEFINE_CLASS(convert_ ## desttype ## _ ## srctype, \ + "oil_type_" #desttype " *dest, " \ + "oil_type_" #srctype " *src, " \ + "int n"); \ +OIL_DEFINE_IMPL_REF(convert_ ## desttype ## _ ## srctype ## _ref, \ + convert_ ## desttype ## _ ## srctype) + +#define CONVERT_DEFINE_UPPER_REF(desttype,srctype) \ +static void convert_ ## desttype ## _ ## srctype ## _ref ( \ + oil_type_ ## desttype *dest, \ + oil_type_ ## srctype *src, \ + int n) \ +{ \ + int i; \ + oil_type_ ## srctype x; \ + for(i=0;ioil_type_max_ ## desttype) x=oil_type_max_ ## desttype; \ + dest[i] = x; \ + } \ +} \ +OIL_DEFINE_CLASS(convert_ ## desttype ## _ ## srctype, \ + "oil_type_" #desttype " *dest, " \ + "oil_type_" #srctype " *src, " \ + "int n"); \ +OIL_DEFINE_IMPL_REF(convert_ ## desttype ## _ ## srctype ## _ref, \ + convert_ ## desttype ## _ ## srctype) + +#define CONVERT_DEFINE_LOWER_REF(desttype,srctype) \ +static void convert_ ## desttype ## _ ## srctype ## _ref ( \ + oil_type_ ## desttype *dest, \ + oil_type_ ## srctype *src, \ + int n) \ +{ \ + int i; \ + oil_type_ ## srctype x; \ + for(i=0;ioil_type_max_ ## desttype) x=oil_type_max_ ## desttype; \ + dest[i] = x; \ + } \ +} \ +OIL_DEFINE_CLASS_FULL(convert_ ## desttype ## _ ## srctype, \ + "oil_type_" #desttype " *dest, " \ + "oil_type_" #srctype " *src, " \ + "int n", convert_float_test); \ +OIL_DEFINE_IMPL_REF(convert_ ## desttype ## _ ## srctype ## _ref, \ + convert_ ## desttype ## _ ## srctype) + +/* no clip */ +CONVERT_DEFINE_NONE_REF(s16,s8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_s8_ref() { + return &_oil_function_impl_convert_s16_s8_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(s16,u8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_u8_ref() { + return &_oil_function_impl_convert_s16_u8_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(s32,s8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s32_s8_ref() { + return &_oil_function_impl_convert_s32_s8_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(s32,u8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s32_u8_ref() { + return &_oil_function_impl_convert_s32_u8_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(s32,s16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s32_s16_ref() { + return &_oil_function_impl_convert_s32_s16_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(s32,u16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s32_u16_ref() { + return &_oil_function_impl_convert_s32_u16_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(u16,u8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u16_u8_ref() { + return &_oil_function_impl_convert_u16_u8_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(u32,u8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u32_u8_ref() { + return &_oil_function_impl_convert_u32_u8_ref; +} +#endif + +CONVERT_DEFINE_NONE_REF(u32,u16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u32_u16_ref() { + return &_oil_function_impl_convert_u32_u16_ref; +} +#endif + +/* clip upper */ +CONVERT_DEFINE_UPPER_REF(s8,u8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_u8_ref() { + return &_oil_function_impl_convert_s8_u8_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(s8,u16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_u16_ref() { + return &_oil_function_impl_convert_s8_u16_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(s8,u32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_u32_ref() { + return &_oil_function_impl_convert_s8_u32_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(u8,u32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_u32_ref() { + return &_oil_function_impl_convert_u8_u32_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(u8,u16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_u16_ref() { + return &_oil_function_impl_convert_u8_u16_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(s16,u16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_u16_ref() { + return &_oil_function_impl_convert_s16_u16_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(s16,u32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_u32_ref() { + return &_oil_function_impl_convert_s16_u32_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(s32,u32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s32_u32_ref() { + return &_oil_function_impl_convert_s32_u32_ref; +} +#endif + +CONVERT_DEFINE_UPPER_REF(u16,u32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u16_u32_ref() { + return &_oil_function_impl_convert_u16_u32_ref; +} +#endif + +/* clip both */ +CONVERT_DEFINE_BOTH_REF(s8,s16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_s16_ref() { + return &_oil_function_impl_convert_s8_s16_ref; +} +#endif + +CONVERT_DEFINE_BOTH_REF(s8,s32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_s32_ref() { + return &_oil_function_impl_convert_s8_s32_ref; +} +#endif + +CONVERT_DEFINE_BOTH_REF(u8,s16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_s16_ref() { + return &_oil_function_impl_convert_u8_s16_ref; +} +#endif + +CONVERT_DEFINE_BOTH_REF(u8,s32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_s32_ref() { + return &_oil_function_impl_convert_u8_s32_ref; +} +#endif + +CONVERT_DEFINE_BOTH_REF(s16,s32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_s32_ref() { + return &_oil_function_impl_convert_s16_s32_ref; +} +#endif + +CONVERT_DEFINE_BOTH_REF(u16,s32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u16_s32_ref() { + return &_oil_function_impl_convert_u16_s32_ref; +} +#endif + +/* clip lower */ +CONVERT_DEFINE_LOWER_REF(u8,s8); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_s8_ref() { + return &_oil_function_impl_convert_u8_s8_ref; +} +#endif + +CONVERT_DEFINE_LOWER_REF(u16,s16); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u16_s16_ref() { + return &_oil_function_impl_convert_u16_s16_ref; +} +#endif + +CONVERT_DEFINE_LOWER_REF(u32,s32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u32_s32_ref() { + return &_oil_function_impl_convert_u32_s32_ref; +} +#endif + +/* clip both, float */ +CONVERT_DEFINE_FLOAT_REF(s8,f32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_f32_ref() { + return &_oil_function_impl_convert_s8_f32_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(s8,f64); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s8_f64_ref() { + return &_oil_function_impl_convert_s8_f64_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(u8,f32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_f32_ref() { + return &_oil_function_impl_convert_u8_f32_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(u8,f64); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u8_f64_ref() { + return &_oil_function_impl_convert_u8_f64_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(s16,f32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_f32_ref() { + return &_oil_function_impl_convert_s16_f32_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(s16,f64); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s16_f64_ref() { + return &_oil_function_impl_convert_s16_f64_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(u16,f32); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u16_f32_ref() { + return &_oil_function_impl_convert_u16_f32_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(u16,f64); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u16_f64_ref() { + return &_oil_function_impl_convert_u16_f64_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(s32,f64); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_s32_f64_ref() { + return &_oil_function_impl_convert_s32_f64_ref; +} +#endif + +CONVERT_DEFINE_FLOAT_REF(u32,f64); +#ifdef __SYMBIAN32__ + +OilFunctionImpl* __oil_function_impl_convert_u32_f64_ref() { + return &_oil_function_impl_convert_u32_f64_ref; +} +#endif + + + +/** + * oil_convert_f32_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f32_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f32_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f32_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f32_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f32_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f32_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_f64_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s16_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s32_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_s8_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u16_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u32_u8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_f32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_f64: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_s16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_s32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_s8: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_u16: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_convert_u8_u32: + * @dest: + * @src: + * @n: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + + + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_s8() { + return &_oil_function_class_convert_s16_s8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_u8() { + return &_oil_function_class_convert_s16_u8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s32_s8() { + return &_oil_function_class_convert_s32_s8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s32_u8() { + return &_oil_function_class_convert_s32_u8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s32_s16() { + return &_oil_function_class_convert_s32_s16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s32_u16() { + return &_oil_function_class_convert_s32_u16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u16_u8() { + return &_oil_function_class_convert_u16_u8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u32_u8() { + return &_oil_function_class_convert_u32_u8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u32_u16() { + return &_oil_function_class_convert_u32_u16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_u8() { + return &_oil_function_class_convert_s8_u8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_u16() { + return &_oil_function_class_convert_s8_u16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_u32() { + return &_oil_function_class_convert_s8_u32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_u32() { + return &_oil_function_class_convert_u8_u32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_u16() { + return &_oil_function_class_convert_u8_u16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_u16() { + return &_oil_function_class_convert_s16_u16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_u32() { + return &_oil_function_class_convert_s16_u32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s32_u32() { + return &_oil_function_class_convert_s32_u32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u16_u32() { + return &_oil_function_class_convert_u16_u32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_s16() { + return &_oil_function_class_convert_s8_s16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_s32() { + return &_oil_function_class_convert_s8_s32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_s16() { + return &_oil_function_class_convert_u8_s16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_s32() { + return &_oil_function_class_convert_u8_s32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_s32() { + return &_oil_function_class_convert_s16_s32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u16_s32() { + return &_oil_function_class_convert_u16_s32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_s8() { + return &_oil_function_class_convert_u8_s8; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u16_s16() { + return &_oil_function_class_convert_u16_s16; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u32_s32() { + return &_oil_function_class_convert_u32_s32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_f32() { + return &_oil_function_class_convert_s8_f32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s8_f64() { + return &_oil_function_class_convert_s8_f64; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_f32() { + return &_oil_function_class_convert_u8_f32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u8_f64() { + return &_oil_function_class_convert_u8_f64; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_f32() { + return &_oil_function_class_convert_s16_f32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s16_f64() { + return &_oil_function_class_convert_s16_f64; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u16_f32() { + return &_oil_function_class_convert_u16_f32; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u16_f64() { + return &_oil_function_class_convert_u16_f64; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_s32_f64() { + return &_oil_function_class_convert_s32_f64; +} +#endif + +#ifdef __SYMBIAN32__ + +OilFunctionClass* __oil_function_class_convert_u32_f64() { + return &_oil_function_class_convert_u32_f64; +} +#endif + + + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_s8 () { + oil_function_class_ptr_convert_s16_s8 = __oil_function_class_convert_s16_s8(); + return &oil_function_class_ptr_convert_s16_s8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_u8 () { + oil_function_class_ptr_convert_s16_u8 = __oil_function_class_convert_s16_u8(); + return &oil_function_class_ptr_convert_s16_u8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s32_s8 () { + oil_function_class_ptr_convert_s32_s8 = __oil_function_class_convert_s32_s8(); + return &oil_function_class_ptr_convert_s32_s8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s32_u8 () { + oil_function_class_ptr_convert_s32_u8 = __oil_function_class_convert_s32_u8(); + return &oil_function_class_ptr_convert_s32_u8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s32_s16 () { + oil_function_class_ptr_convert_s32_s16 = __oil_function_class_convert_s32_s16(); + return &oil_function_class_ptr_convert_s32_s16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s32_u16 () { + oil_function_class_ptr_convert_s32_u16 = __oil_function_class_convert_s32_u16(); + return &oil_function_class_ptr_convert_s32_u16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u16_u8 () { + oil_function_class_ptr_convert_u16_u8 = __oil_function_class_convert_u16_u8(); + return &oil_function_class_ptr_convert_u16_u8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u32_u8 () { + oil_function_class_ptr_convert_u32_u8 = __oil_function_class_convert_u32_u8(); + return &oil_function_class_ptr_convert_u32_u8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u32_u16 () { + oil_function_class_ptr_convert_u32_u16 = __oil_function_class_convert_u32_u16(); + return &oil_function_class_ptr_convert_u32_u16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_u8 () { + oil_function_class_ptr_convert_s8_u8 = __oil_function_class_convert_s8_u8(); + return &oil_function_class_ptr_convert_s8_u8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_u16 () { + oil_function_class_ptr_convert_s8_u16 = __oil_function_class_convert_s8_u16(); + return &oil_function_class_ptr_convert_s8_u16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_u32 () { + oil_function_class_ptr_convert_s8_u32 = __oil_function_class_convert_s8_u32(); + return &oil_function_class_ptr_convert_s8_u32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_u32 () { + oil_function_class_ptr_convert_u8_u32 = __oil_function_class_convert_u8_u32(); + return &oil_function_class_ptr_convert_u8_u32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_u16 () { + oil_function_class_ptr_convert_u8_u16 = __oil_function_class_convert_u8_u16(); + return &oil_function_class_ptr_convert_u8_u16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_u16 () { + oil_function_class_ptr_convert_s16_u16 = __oil_function_class_convert_s16_u16(); + return &oil_function_class_ptr_convert_s16_u16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_u32 () { + oil_function_class_ptr_convert_s16_u32 = __oil_function_class_convert_s16_u32(); + return &oil_function_class_ptr_convert_s16_u32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s32_u32 () { + oil_function_class_ptr_convert_s32_u32 = __oil_function_class_convert_s32_u32(); + return &oil_function_class_ptr_convert_s32_u32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u16_u32 () { + oil_function_class_ptr_convert_u16_u32 = __oil_function_class_convert_u16_u32(); + return &oil_function_class_ptr_convert_u16_u32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_s16 () { + oil_function_class_ptr_convert_s8_s16 = __oil_function_class_convert_s8_s16(); + return &oil_function_class_ptr_convert_s8_s16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_s32 () { + oil_function_class_ptr_convert_s8_s32 = __oil_function_class_convert_s8_s32(); + return &oil_function_class_ptr_convert_s8_s32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_s16 () { + oil_function_class_ptr_convert_u8_s16 = __oil_function_class_convert_u8_s16(); + return &oil_function_class_ptr_convert_u8_s16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_s32 () { + oil_function_class_ptr_convert_u8_s32 = __oil_function_class_convert_u8_s32(); + return &oil_function_class_ptr_convert_u8_s32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_s32 () { + oil_function_class_ptr_convert_s16_s32 = __oil_function_class_convert_s16_s32(); + return &oil_function_class_ptr_convert_s16_s32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u16_s32 () { + oil_function_class_ptr_convert_u16_s32 = __oil_function_class_convert_u16_s32(); + return &oil_function_class_ptr_convert_u16_s32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_s8 () { + oil_function_class_ptr_convert_u8_s8 = __oil_function_class_convert_u8_s8(); + return &oil_function_class_ptr_convert_u8_s8->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u16_s16 () { + oil_function_class_ptr_convert_u16_s16 = __oil_function_class_convert_u16_s16(); + return &oil_function_class_ptr_convert_u16_s16->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u32_s32 () { + oil_function_class_ptr_convert_u32_s32 = __oil_function_class_convert_u32_s32(); + return &oil_function_class_ptr_convert_u32_s32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_f32 () { + oil_function_class_ptr_convert_s8_f32 = __oil_function_class_convert_s8_f32(); + return &oil_function_class_ptr_convert_s8_f32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s8_f64 () { + oil_function_class_ptr_convert_s8_f64 = __oil_function_class_convert_s8_f64(); + return &oil_function_class_ptr_convert_s8_f64->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_f32 () { + oil_function_class_ptr_convert_u8_f32 = __oil_function_class_convert_u8_f32(); + return &oil_function_class_ptr_convert_u8_f32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u8_f64 () { + oil_function_class_ptr_convert_u8_f64 = __oil_function_class_convert_u8_f64(); + return &oil_function_class_ptr_convert_u8_f64->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_f32 () { + oil_function_class_ptr_convert_s16_f32 = __oil_function_class_convert_s16_f32(); + return &oil_function_class_ptr_convert_s16_f32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s16_f64 () { + oil_function_class_ptr_convert_s16_f64 = __oil_function_class_convert_s16_f64(); + return &oil_function_class_ptr_convert_s16_f64->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u16_f32 () { + oil_function_class_ptr_convert_u16_f32 = __oil_function_class_convert_u16_f32(); + return &oil_function_class_ptr_convert_u16_f32->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u16_f64 () { + oil_function_class_ptr_convert_u16_f64 = __oil_function_class_convert_u16_f64(); + return &oil_function_class_ptr_convert_u16_f64->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_s32_f64 () { + oil_function_class_ptr_convert_s32_f64 = __oil_function_class_convert_s32_f64(); + return &oil_function_class_ptr_convert_s32_f64->func; + } +#endif + +#ifdef __SYMBIAN32__ + +EXPORT_C void** _oil_function_class_ptr_convert_u32_f64 () { + oil_function_class_ptr_convert_u32_f64 = __oil_function_class_convert_u32_f64(); + return &oil_function_class_ptr_convert_u32_f64->func; + } +#endif +