Update contrib.
1 //Portions Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
3 Copyright 2002,2003,2004,2005 David A. Schleef <ds@schleef.org>
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions
9 1. Redistributions of source code must retain the above copyright
10 notice, this list of conditions and the following disclaimer.
11 2. Redistributions in binary form must reproduce the above copyright
12 notice, this list of conditions and the following disclaimer in the
13 documentation and/or other materials provided with the distribution.
15 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 POSSIBILITY OF SUCH DAMAGE.
27 #include <liboil/liboilfunction.h>
28 #include <liboil/liboiltest.h>
29 #include <liboil/liboilrandom.h>
32 mas_test (OilTest *test)
38 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
39 for(i=0;i<test->n;i++){
40 //data[i] = oil_rand_s16()>>1;
44 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
45 for(i=0;i<test->n;i++){
46 data[i] = oil_rand_s16() >> 4;
49 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
50 n = oil_test_get_arg_post_n (test, OIL_ARG_SRC3);
55 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
60 data[i] = (oil_rand_s16()>>4)/n;
63 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
70 mas2_across_test (OilTest *test)
76 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
77 for(i=0;i<test->n;i++){
78 //data[i] = oil_rand_s16()>>1;
82 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
83 for(i=0;i<test->n;i++){
84 data[i] = oil_rand_s16()>>4;
87 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
88 for(i=0;i<test->n;i++){
89 data[i] = oil_rand_s16()>>4;
92 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
93 n = oil_test_get_arg_post_n (test, OIL_ARG_SRC4);
95 data[i] = (oil_rand_s16()>>4)/n;
98 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC5);
104 mas48_across_test (OilTest *test)
114 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
115 for(i=0;i<test->n;i++){
116 //data[i] = oil_rand_s16()>>1;
120 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
121 m = oil_test_get_arg_post_n (test, OIL_ARG_SRC2);
122 stride = oil_test_get_arg_stride (test, OIL_ARG_SRC2);
124 for(i=0;i<test->n;i++){
125 data[i] = oil_rand_s16()>>12;
127 data = OIL_OFFSET(data, stride);
130 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
131 n = oil_test_get_arg_post_n (test, OIL_ARG_SRC3);
146 data[i] = (oil_rand_s16()>>8)/n;
151 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC4);
155 data[0] = (1<<(4-1));
161 mas10_u8_test (OilTest *test)
163 static const int taps[] = { 3, -11, 25, -56, 167, 167, -56, 25, -11, 3 };
167 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
172 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
178 mas10_u8_l15_test (OilTest *test)
180 static const int taps[] = { 0, -1, 3, -7, 21, 21, -7, 3, -1, 0 };
184 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
189 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
195 mas8_u8_test (OilTest *test)
197 static const int taps[] = { -1, 3, -7, 21, 21, -7, 3, -1 };
203 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC1);
204 n = oil_test_get_arg_post_n (test, OIL_ARG_SRC1);
206 data[i] = 100*((i%8)==4);
210 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
215 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
222 mas12_test (OilTest *test)
224 const int taps[12] = { 4, -4, -8, 4, 46, 86, 86, 46, 4, -8, -4, 4 };
228 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
233 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
239 mas8_test (OilTest *test)
241 const int taps[8] = { -8, 4, 46, 86, 86, 46, 4, -8 };
245 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC2);
250 data = (int16_t *)oil_test_get_source_data (test, OIL_ARG_SRC3);
255 OIL_DEFINE_CLASS_FULL (mas2_add_s16,
256 "int16_t *d, int16_t *s1, int16_t *s2_np1, int16_t *s3_2, int16_t *s4_2, "
258 OIL_DEFINE_CLASS_FULL (mas4_add_s16,
259 "int16_t *d, int16_t *s1, int16_t *s2_np3, int16_t *s3_4, int16_t *s4_2, "
261 OIL_DEFINE_CLASS_FULL (mas8_add_s16,
262 "int16_t *d, int16_t *s1, int16_t *s2_np7, int16_t *s3_8, int16_t *s4_2, "
264 OIL_DEFINE_CLASS_FULL (mas2_across_add_s16,
265 "int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3, int16_t *s4_2, "
266 "int16_t *s5_2, int n", mas2_across_test);
267 OIL_DEFINE_CLASS_FULL (mas4_across_add_s16,
268 "int16_t *d, int16_t *s1, int16_t *s2_nx4, int sstr2, int16_t *s3_4, "
269 "int16_t *s4_2, int n", mas48_across_test);
270 OIL_DEFINE_CLASS_FULL (mas8_across_add_s16,
271 "int16_t *d, int16_t *s1, int16_t *s2_nx8, int sstr2, int16_t *s3_8, "
272 "int16_t *s4_2, int n", mas48_across_test);
273 OIL_DEFINE_CLASS_FULL (mas10_u8, "uint8_t *d, uint8_t *s1_np9, int16_t *s2_10, "
274 "int16_t *s3_2, int n", mas10_u8_test);
275 OIL_DEFINE_CLASS_FULL (mas10_u8_l15, "uint8_t *d, uint8_t *s1_np9, int16_t *s2_10, "
276 "int16_t *s3_2, int n", mas10_u8_l15_test);
277 OIL_DEFINE_CLASS_FULL (mas10_u8_sym_l15, "uint8_t *d, uint8_t *s1_np9, int16_t *s2_10, "
278 "int16_t *s3_2, int n", mas10_u8_l15_test);
279 OIL_DEFINE_CLASS_FULL (mas8_u8, "uint8_t *d, uint8_t *s1_np7, int16_t *s2_8, "
280 "int16_t *s3_2, int n", mas8_u8_test);
281 OIL_DEFINE_CLASS_FULL (mas8_u8_l15, "uint8_t *d, uint8_t *s1_np7, int16_t *s2_8, "
282 "int16_t *s3_2, int n", mas8_u8_test);
283 OIL_DEFINE_CLASS_FULL (mas8_u8_sym_l15, "uint8_t *d, uint8_t *s1_np7, int16_t *s2_8, "
284 "int16_t *s3_2, int n", mas8_u8_test);
285 OIL_DEFINE_CLASS_FULL (mas12_addc_rshift_decim2_u8,
286 "uint8_t *d, uint8_t *s1_2xnp11, int16_t *s2_12, "
287 "int16_t *s3_2, int n", mas12_test);
289 OIL_DEFINE_CLASS_FULL (mas12across_addc_rshift_u8,
290 "uint8_t *d, uint8_t **s1_a12, int16_t *s2_12, "
291 "int16_t *s3_2, int n", mas12_test);
293 OIL_DEFINE_CLASS_FULL (mas8_addc_rshift_decim2_u8,
294 "uint8_t *d, uint8_t *s1_2xnp9, int16_t *s2_8, "
295 "int16_t *s3_2, int n", mas8_test);
296 OIL_DEFINE_CLASS_FULL (mas8_across_u8, "uint8_t *d, uint8_t *s1_nx8, int sstr1, "
297 "int16_t *s2_8, int16_t *s3_2, int n", mas8_u8_test);
300 mas2_add_s16_ref(int16_t *d1, int16_t *s1, int16_t *s2, int16_t *s3_2,
301 int16_t *s4_2, int n)
307 x = s4_2[0] + s2[i]*s3_2[0] + s2[i+1]*s3_2[1];
312 OIL_DEFINE_IMPL_REF (mas2_add_s16_ref, mas2_add_s16);
315 mas4_add_s16_ref(int16_t *d1, int16_t *s1, int16_t *s2, int16_t *s3_4,
316 int16_t *s4_2, int n)
322 x = s4_2[0] + s2[i]*s3_4[0] + s2[i+1]*s3_4[1] + s2[i+2]*s3_4[2] +
328 OIL_DEFINE_IMPL_REF (mas4_add_s16_ref, mas4_add_s16);
331 mas8_add_s16_ref(int16_t *d1, int16_t *s1, int16_t *s2, int16_t *s3_8,
332 int16_t *s4_2, int n)
341 x += s2[i+j]*s3_8[j];
347 OIL_DEFINE_IMPL_REF (mas8_add_s16_ref, mas8_add_s16);
350 mas2_across_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2, int16_t *s3,
351 int16_t *s4_2, int16_t *s5_2, int n)
357 x += s2[i]*s4_2[0] + s3[i]*s4_2[1];
362 OIL_DEFINE_IMPL_REF (mas2_across_add_s16_ref, mas2_across_add_s16);
365 mas4_across_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2_nx4, int sstr2,
366 int16_t *s3_4, int16_t *s4_2, int n)
374 x += OIL_GET(s2_nx4, i*sizeof(int16_t) + j*sstr2, int16_t)*s3_4[j];
380 OIL_DEFINE_IMPL_REF (mas4_across_add_s16_ref, mas4_across_add_s16);
383 mas8_across_add_s16_ref (int16_t *d, int16_t *s1, int16_t *s2_nx8, int sstr2,
384 int16_t *s3_8, int16_t *s4_2, int n)
392 x += OIL_GET(s2_nx8, i*sizeof(int16_t) + j*sstr2, int16_t)*s3_8[j];
398 OIL_DEFINE_IMPL_REF (mas8_across_add_s16_ref, mas8_across_add_s16);
402 mas10_u8_ref (uint8_t *d, const uint8_t *s1_np9, const int16_t *s2_10,
403 const int16_t *s3_2, int n)
412 x += s1_np9[i+j] * s2_10[j];
414 d[i] = CLAMP((x + s3_2[0])>>s3_2[1],0,255);
417 OIL_DEFINE_IMPL_REF (mas10_u8_ref, mas10_u8);
420 mas10_u8_l15_ref (uint8_t *d, const uint8_t *s1_np9, const int16_t *s2_10,
421 const int16_t *s3_2, int n)
423 mas10_u8_ref (d, s1_np9, s2_10, s3_2, n);
425 OIL_DEFINE_IMPL_REF (mas10_u8_l15_ref, mas10_u8_l15);
428 mas10_u8_sym_l15_ref (uint8_t *d, const uint8_t *s1_np9,
429 const int16_t *s2_10, const int16_t *s3_2, int n)
431 mas10_u8_ref (d, s1_np9, s2_10, s3_2, n);
433 OIL_DEFINE_IMPL_REF (mas10_u8_sym_l15_ref, mas10_u8_sym_l15);
436 mas8_u8_ref (uint8_t *d, const uint8_t *s1_np7, const int16_t *s2_8,
437 const int16_t *s3_2, int n)
446 x += s1_np7[i+j] * s2_8[j];
448 d[i] = CLAMP((x + s3_2[0])>>s3_2[1],0,255);
451 OIL_DEFINE_IMPL_REF (mas8_u8_ref, mas8_u8);
454 mas8_u8_l15_ref (uint8_t *d, const uint8_t *s1_np7, const int16_t *s2_8,
455 const int16_t *s3_2, int n)
457 mas8_u8_ref (d, s1_np7, s2_8, s3_2, n);
459 OIL_DEFINE_IMPL_REF (mas8_u8_l15_ref, mas8_u8_l15);
462 mas8_u8_sym_l15_ref (uint8_t *d, const uint8_t *s1_np7,
463 const int16_t *s2_8, const int16_t *s3_2, int n)
465 mas8_u8_ref (d, s1_np7, s2_8, s3_2, n);
467 OIL_DEFINE_IMPL_REF (mas8_u8_sym_l15_ref, mas8_u8_sym_l15);
470 mas8_across_u8_ref (uint8_t *d, uint8_t *s1_nx8, int sstr1,
471 int16_t *s2_8, int16_t *s3_2, int n)
479 x += OIL_GET(s1_nx8, i*sizeof(uint8_t) + j*sstr1, uint8_t)*s2_8[j];
482 d[i] = CLAMP(x,0,255);
485 OIL_DEFINE_IMPL_REF (mas8_across_u8_ref, mas8_across_u8);
488 mas12_addc_rshift_decim2_u8_ref (uint8_t *dest, const uint8_t *src,
489 const int16_t *taps, const int16_t *offsetshift, int n)
498 x += taps[j]*src[i*2 + j];
500 dest[i] = CLAMP((x + offsetshift[0]) >> offsetshift[1],0,255);
503 OIL_DEFINE_IMPL_REF (mas12_addc_rshift_decim2_u8_ref,
504 mas12_addc_rshift_decim2_u8);
508 mas12across_addc_rshift_u8_ref (uint8_t *dest, uint8_t **src,
509 const int16_t *taps, const int16_t *offsetshift, int n)
518 x += taps[j]*src[j][i];
520 dest[i] = CLAMP((x + offsetshift[0]) >> offsetshift[1],0,255);
523 OIL_DEFINE_IMPL_REF (mas12across_addc_rshift_u8_ref,
524 mas12across_addc_rshift_u8);
528 mas8_addc_rshift_decim2_u8_ref (uint8_t *dest, const uint8_t *src,
529 const int16_t *taps, const int16_t *offsetshift, int n)
538 x += taps[j]*src[i*2 + j];
540 dest[i] = CLAMP((x + offsetshift[0]) >> offsetshift[1],0,255);
543 OIL_DEFINE_IMPL_REF (mas8_addc_rshift_decim2_u8_ref,
544 mas8_addc_rshift_decim2_u8);
550 OilFunctionClass* __oil_function_class_mas2_add_s16() {
551 return &_oil_function_class_mas2_add_s16;
557 OilFunctionClass* __oil_function_class_mas4_add_s16() {
558 return &_oil_function_class_mas4_add_s16;
564 OilFunctionClass* __oil_function_class_mas8_add_s16() {
565 return &_oil_function_class_mas8_add_s16;
571 OilFunctionClass* __oil_function_class_mas2_across_add_s16() {
572 return &_oil_function_class_mas2_across_add_s16;
578 OilFunctionClass* __oil_function_class_mas4_across_add_s16() {
579 return &_oil_function_class_mas4_across_add_s16;
585 OilFunctionClass* __oil_function_class_mas8_across_add_s16() {
586 return &_oil_function_class_mas8_across_add_s16;
592 OilFunctionClass* __oil_function_class_mas10_u8() {
593 return &_oil_function_class_mas10_u8;
599 OilFunctionClass* __oil_function_class_mas10_u8_l15() {
600 return &_oil_function_class_mas10_u8_l15;
606 OilFunctionClass* __oil_function_class_mas10_u8_sym_l15() {
607 return &_oil_function_class_mas10_u8_sym_l15;
613 OilFunctionClass* __oil_function_class_mas8_u8() {
614 return &_oil_function_class_mas8_u8;
620 OilFunctionClass* __oil_function_class_mas8_u8_l15() {
621 return &_oil_function_class_mas8_u8_l15;
627 OilFunctionClass* __oil_function_class_mas8_u8_sym_l15() {
628 return &_oil_function_class_mas8_u8_sym_l15;
634 OilFunctionClass* __oil_function_class_mas12_addc_rshift_decim2_u8() {
635 return &_oil_function_class_mas12_addc_rshift_decim2_u8;
642 OilFunctionClass* __oil_function_class_mas12across_addc_rshift_u8() {
643 return &_oil_function_class_mas12across_addc_rshift_u8;
650 OilFunctionClass* __oil_function_class_mas8_addc_rshift_decim2_u8() {
651 return &_oil_function_class_mas8_addc_rshift_decim2_u8;
657 OilFunctionClass* __oil_function_class_mas8_across_u8() {
658 return &_oil_function_class_mas8_across_u8;
666 OilFunctionImpl* __oil_function_impl_mas2_add_s16_ref() {
667 return &_oil_function_impl_mas2_add_s16_ref;
673 OilFunctionImpl* __oil_function_impl_mas4_add_s16_ref() {
674 return &_oil_function_impl_mas4_add_s16_ref;
680 OilFunctionImpl* __oil_function_impl_mas8_add_s16_ref() {
681 return &_oil_function_impl_mas8_add_s16_ref;
687 OilFunctionImpl* __oil_function_impl_mas2_across_add_s16_ref() {
688 return &_oil_function_impl_mas2_across_add_s16_ref;
694 OilFunctionImpl* __oil_function_impl_mas4_across_add_s16_ref() {
695 return &_oil_function_impl_mas4_across_add_s16_ref;
701 OilFunctionImpl* __oil_function_impl_mas8_across_add_s16_ref() {
702 return &_oil_function_impl_mas8_across_add_s16_ref;
708 OilFunctionImpl* __oil_function_impl_mas10_u8_ref() {
709 return &_oil_function_impl_mas10_u8_ref;
715 OilFunctionImpl* __oil_function_impl_mas10_u8_l15_ref() {
716 return &_oil_function_impl_mas10_u8_l15_ref;
722 OilFunctionImpl* __oil_function_impl_mas10_u8_sym_l15_ref() {
723 return &_oil_function_impl_mas10_u8_sym_l15_ref;
729 OilFunctionImpl* __oil_function_impl_mas8_u8_ref() {
730 return &_oil_function_impl_mas8_u8_ref;
736 OilFunctionImpl* __oil_function_impl_mas8_u8_l15_ref() {
737 return &_oil_function_impl_mas8_u8_l15_ref;
743 OilFunctionImpl* __oil_function_impl_mas8_u8_sym_l15_ref() {
744 return &_oil_function_impl_mas8_u8_sym_l15_ref;
750 OilFunctionImpl* __oil_function_impl_mas8_across_u8_ref() {
751 return &_oil_function_impl_mas8_across_u8_ref;
757 OilFunctionImpl* __oil_function_impl_mas12_addc_rshift_decim2_u8_ref() {
758 return &_oil_function_impl_mas12_addc_rshift_decim2_u8_ref;
764 OilFunctionImpl* __oil_function_impl_mas12across_addc_rshift_u8_ref() {
765 return &_oil_function_impl_mas12across_addc_rshift_u8_ref;
771 OilFunctionImpl* __oil_function_impl_mas8_addc_rshift_decim2_u8_ref() {
772 return &_oil_function_impl_mas8_addc_rshift_decim2_u8_ref;
780 EXPORT_C void** _oil_function_class_ptr_mas2_add_s16 () {
781 oil_function_class_ptr_mas2_add_s16 = __oil_function_class_mas2_add_s16();
782 return &oil_function_class_ptr_mas2_add_s16->func;
788 EXPORT_C void** _oil_function_class_ptr_mas4_add_s16 () {
789 oil_function_class_ptr_mas4_add_s16 = __oil_function_class_mas4_add_s16();
790 return &oil_function_class_ptr_mas4_add_s16->func;
796 EXPORT_C void** _oil_function_class_ptr_mas8_add_s16 () {
797 oil_function_class_ptr_mas8_add_s16 = __oil_function_class_mas8_add_s16();
798 return &oil_function_class_ptr_mas8_add_s16->func;
804 EXPORT_C void** _oil_function_class_ptr_mas2_across_add_s16 () {
805 oil_function_class_ptr_mas2_across_add_s16 = __oil_function_class_mas2_across_add_s16();
806 return &oil_function_class_ptr_mas2_across_add_s16->func;
812 EXPORT_C void** _oil_function_class_ptr_mas4_across_add_s16 () {
813 oil_function_class_ptr_mas4_across_add_s16 = __oil_function_class_mas4_across_add_s16();
814 return &oil_function_class_ptr_mas4_across_add_s16->func;
820 EXPORT_C void** _oil_function_class_ptr_mas8_across_add_s16 () {
821 oil_function_class_ptr_mas8_across_add_s16 = __oil_function_class_mas8_across_add_s16();
822 return &oil_function_class_ptr_mas8_across_add_s16->func;
828 EXPORT_C void** _oil_function_class_ptr_mas10_u8 () {
829 oil_function_class_ptr_mas10_u8 = __oil_function_class_mas10_u8();
830 return &oil_function_class_ptr_mas10_u8->func;
836 EXPORT_C void** _oil_function_class_ptr_mas10_u8_l15 () {
837 oil_function_class_ptr_mas10_u8_l15 = __oil_function_class_mas10_u8_l15();
838 return &oil_function_class_ptr_mas10_u8_l15->func;
844 EXPORT_C void** _oil_function_class_ptr_mas10_u8_sym_l15 () {
845 oil_function_class_ptr_mas10_u8_sym_l15 = __oil_function_class_mas10_u8_sym_l15();
846 return &oil_function_class_ptr_mas10_u8_sym_l15->func;
852 EXPORT_C void** _oil_function_class_ptr_mas8_u8 () {
853 oil_function_class_ptr_mas8_u8 = __oil_function_class_mas8_u8();
854 return &oil_function_class_ptr_mas8_u8->func;
860 EXPORT_C void** _oil_function_class_ptr_mas8_u8_l15 () {
861 oil_function_class_ptr_mas8_u8_l15 = __oil_function_class_mas8_u8_l15();
862 return &oil_function_class_ptr_mas8_u8_l15->func;
868 EXPORT_C void** _oil_function_class_ptr_mas8_u8_sym_l15 () {
869 oil_function_class_ptr_mas8_u8_sym_l15 = __oil_function_class_mas8_u8_sym_l15();
870 return &oil_function_class_ptr_mas8_u8_sym_l15->func;
876 EXPORT_C void** _oil_function_class_ptr_mas12_addc_rshift_decim2_u8 () {
877 oil_function_class_ptr_mas12_addc_rshift_decim2_u8 = __oil_function_class_mas12_addc_rshift_decim2_u8();
878 return &oil_function_class_ptr_mas12_addc_rshift_decim2_u8->func;
885 EXPORT_C void** _oil_function_class_ptr_mas12across_addc_rshift_u8 () {
886 oil_function_class_ptr_mas12across_addc_rshift_u8 = __oil_function_class_mas12across_addc_rshift_u8();
887 return &oil_function_class_ptr_mas12across_addc_rshift_u8->func;
894 EXPORT_C void** _oil_function_class_ptr_mas8_addc_rshift_decim2_u8 () {
895 oil_function_class_ptr_mas8_addc_rshift_decim2_u8 = __oil_function_class_mas8_addc_rshift_decim2_u8();
896 return &oil_function_class_ptr_mas8_addc_rshift_decim2_u8->func;
902 EXPORT_C void** _oil_function_class_ptr_mas8_across_u8 () {
903 oil_function_class_ptr_mas8_across_u8 = __oil_function_class_mas8_across_u8();
904 return &oil_function_class_ptr_mas8_across_u8->func;