tests: lib: cmsis_dsp: basicmath: Update Q15 tests for 1.9.0

This commit updates the basicmath Q15 test patterns and implementations
for the CMSIS-DSP 1.9.0.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit is contained in:
Stephanos Ioannidis 2021-08-18 19:15:46 +09:00 committed by Carles Cufí
commit ac5174cbbd
2 changed files with 519 additions and 318 deletions

View file

@ -1,6 +1,6 @@
/*
* Copyright (c) 2020 Stephanos Ioannidis <root@stephanos.io>
* Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved.
* Copyright (c) 2021 Stephanos Ioannidis <root@stephanos.io>
* Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -49,6 +49,7 @@ DEFINE_TEST_VARIANT4(arm_add_q15, 16, in_com1, in_com2, ref_add, 16);
DEFINE_TEST_VARIANT4(arm_add_q15, 23, in_com1, in_com2, ref_add, 23);
DEFINE_TEST_VARIANT4(arm_add_q15, possat, in_maxpos, in_maxpos, ref_add_possat, 17);
DEFINE_TEST_VARIANT4(arm_add_q15, negsat, in_maxneg, in_maxneg, ref_add_negsat, 17);
DEFINE_TEST_VARIANT4(arm_add_q15, long, in_com1, in_com2, ref_add, ARRAY_SIZE(in_com1));
static void test_arm_sub_q15(
const q15_t *input1, const q15_t *input2, const q15_t *ref,
@ -81,6 +82,7 @@ DEFINE_TEST_VARIANT4(arm_sub_q15, 16, in_com1, in_com2, ref_sub, 16);
DEFINE_TEST_VARIANT4(arm_sub_q15, 23, in_com1, in_com2, ref_sub, 23);
DEFINE_TEST_VARIANT4(arm_sub_q15, possat, in_maxpos, in_maxneg, ref_sub_possat, 17);
DEFINE_TEST_VARIANT4(arm_sub_q15, negsat, in_maxneg, in_maxpos, ref_sub_negsat, 17);
DEFINE_TEST_VARIANT4(arm_sub_q15, long, in_com1, in_com2, ref_sub, ARRAY_SIZE(in_com1));
static void test_arm_mult_q15(
const q15_t *input1, const q15_t *input2, const q15_t *ref,
@ -112,6 +114,7 @@ DEFINE_TEST_VARIANT4(arm_mult_q15, 7, in_com1, in_com2, ref_mult, 7);
DEFINE_TEST_VARIANT4(arm_mult_q15, 16, in_com1, in_com2, ref_mult, 16);
DEFINE_TEST_VARIANT4(arm_mult_q15, 23, in_com1, in_com2, ref_mult, 23);
DEFINE_TEST_VARIANT4(arm_mult_q15, possat, in_maxneg2, in_maxneg2, ref_mult_possat, 17);
DEFINE_TEST_VARIANT4(arm_mult_q15, long, in_com1, in_com2, ref_mult, ARRAY_SIZE(in_com1));
static void test_arm_negate_q15(
const q15_t *input1, const q15_t *ref, size_t length)
@ -142,6 +145,7 @@ DEFINE_TEST_VARIANT3(arm_negate_q15, 7, in_com1, ref_negate, 7);
DEFINE_TEST_VARIANT3(arm_negate_q15, 16, in_com1, ref_negate, 16);
DEFINE_TEST_VARIANT3(arm_negate_q15, 23, in_com1, ref_negate, 23);
DEFINE_TEST_VARIANT3(arm_negate_q15, possat, in_maxneg2, ref_negate_possat, 17);
DEFINE_TEST_VARIANT3(arm_negate_q15, long, in_com1, ref_negate, ARRAY_SIZE(in_com1));
static void test_arm_offset_q15(
const q15_t *input1, q15_t scalar, const q15_t *ref, size_t length)
@ -173,6 +177,7 @@ DEFINE_TEST_VARIANT4(arm_offset_q15, 0p5_16, in_com1, 0x4000, ref_offset, 16);
DEFINE_TEST_VARIANT4(arm_offset_q15, 0p5_23, in_com1, 0x4000, ref_offset, 23);
DEFINE_TEST_VARIANT4(arm_offset_q15, possat, in_maxpos, 0x7333, ref_offset_possat, 17);
DEFINE_TEST_VARIANT4(arm_offset_q15, negsat, in_maxneg, 0x8ccd, ref_offset_negsat, 17);
DEFINE_TEST_VARIANT4(arm_offset_q15, long, in_com1, 0x4000, ref_offset, ARRAY_SIZE(in_com1));
static void test_arm_scale_q15(
const q15_t *input1, q15_t scalar, const q15_t *ref, size_t length)
@ -203,6 +208,7 @@ DEFINE_TEST_VARIANT4(arm_scale_q15, 0p5_7, in_com1, 0x4000, ref_scale, 7);
DEFINE_TEST_VARIANT4(arm_scale_q15, 0p5_16, in_com1, 0x4000, ref_scale, 16);
DEFINE_TEST_VARIANT4(arm_scale_q15, 0p5_23, in_com1, 0x4000, ref_scale, 23);
DEFINE_TEST_VARIANT4(arm_scale_q15, possat, in_maxneg2, 0x8000, ref_scale_possat, 17);
DEFINE_TEST_VARIANT4(arm_scale_q15, long, in_com1, 0x4000, ref_scale, ARRAY_SIZE(in_com1));
static void test_arm_dot_prod_q15(
const q15_t *input1, const q15_t *input2, const q63_t *ref,
@ -233,6 +239,8 @@ static void test_arm_dot_prod_q15(
DEFINE_TEST_VARIANT4(arm_dot_prod_q15, 7, in_com1, in_com2, ref_dot_prod_3, 7);
DEFINE_TEST_VARIANT4(arm_dot_prod_q15, 16, in_com1, in_com2, ref_dot_prod_4, 16);
DEFINE_TEST_VARIANT4(arm_dot_prod_q15, 23, in_com1, in_com2, ref_dot_prod_4n1, 23);
DEFINE_TEST_VARIANT4(arm_dot_prod_q15, long, in_com1, in_com2, ref_dot_prod_long,
ARRAY_SIZE(in_com1));
static void test_arm_abs_q15(
const q15_t *input1, const q15_t *ref, size_t length)
@ -262,6 +270,7 @@ static void test_arm_abs_q15(
DEFINE_TEST_VARIANT3(arm_abs_q15, 7, in_com1, ref_abs, 7);
DEFINE_TEST_VARIANT3(arm_abs_q15, 16, in_com1, ref_abs, 16);
DEFINE_TEST_VARIANT3(arm_abs_q15, 23, in_com1, ref_abs, 23);
DEFINE_TEST_VARIANT3(arm_abs_q15, long, in_com1, ref_abs, ARRAY_SIZE(in_com1));
static void test_arm_shift_q15(
const q15_t *input1, const q15_t *ref, size_t length)
@ -395,6 +404,34 @@ DEFINE_TEST_VARIANT4(arm_xor_u16, 7, in_bitwise1, in_bitwise2, ref_xor, 7);
DEFINE_TEST_VARIANT4(arm_xor_u16, 16, in_bitwise1, in_bitwise2, ref_xor, 16);
DEFINE_TEST_VARIANT4(arm_xor_u16, 23, in_bitwise1, in_bitwise2, ref_xor, 23);
static void test_arm_clip_q15(
const q15_t *input, const q15_t *ref, q15_t min, q15_t max, size_t length)
{
q15_t *output;
/* Allocate output buffer */
output = malloc(length * sizeof(q15_t));
zassert_not_null(output, ASSERT_MSG_BUFFER_ALLOC_FAILED);
/* Run test function */
arm_clip_q15(input, output, min, max, length);
/* Validate output */
zassert_true(
test_equal_q15(length, output, ref),
ASSERT_MSG_INCORRECT_COMP_RESULT);
/* Free output buffer */
free(output);
}
DEFINE_TEST_VARIANT5(arm_clip_q15, c000_f333, in_clip, ref_clip1,
0xc000, 0xf333, ARRAY_SIZE(ref_clip1));
DEFINE_TEST_VARIANT5(arm_clip_q15, c000_4000, in_clip, ref_clip2,
0xc000, 0x4000, ARRAY_SIZE(ref_clip2));
DEFINE_TEST_VARIANT5(arm_clip_q15, 0ccd_4000, in_clip, ref_clip3,
0x0ccd, 0x4000, ARRAY_SIZE(ref_clip3));
void test_basicmath_q15(void)
{
ztest_test_suite(basicmath_q15,
@ -445,7 +482,18 @@ void test_basicmath_q15(void)
ztest_unit_test(test_arm_not_u16_23),
ztest_unit_test(test_arm_xor_u16_7),
ztest_unit_test(test_arm_xor_u16_16),
ztest_unit_test(test_arm_xor_u16_23)
ztest_unit_test(test_arm_xor_u16_23),
ztest_unit_test(test_arm_add_q15_long),
ztest_unit_test(test_arm_sub_q15_long),
ztest_unit_test(test_arm_mult_q15_long),
ztest_unit_test(test_arm_negate_q15_long),
ztest_unit_test(test_arm_offset_q15_long),
ztest_unit_test(test_arm_scale_q15_long),
ztest_unit_test(test_arm_dot_prod_q15_long),
ztest_unit_test(test_arm_abs_q15_long),
ztest_unit_test(test_arm_clip_q15_c000_f333),
ztest_unit_test(test_arm_clip_q15_c000_4000),
ztest_unit_test(test_arm_clip_q15_0ccd_4000)
);
ztest_run_test_suite(basicmath_q15);

View file

@ -1,89 +1,89 @@
static const q15_t in_com1[256] = {
0x1577, 0xD312, 0x0DEC, 0xFDD4, 0x1DB9, 0xDD7C, 0xF64B, 0x04D2,
0x2F93, 0xDD5A, 0xEDDD, 0xFA2C, 0x0D5F, 0x4208, 0xF97A, 0xFE2C,
0x03E7, 0x2F3F, 0x18E1, 0x1EB5, 0xF7E3, 0xF3A9, 0x5002, 0x0358,
0x0B8E, 0xDEDC, 0xCFC7, 0x01B0, 0x2B2D, 0x1FEA, 0x93BC, 0xBB3F,
0xFF0F, 0xCA86, 0x2006, 0x73B8, 0xD902, 0x314C, 0xD6CF, 0x05BA,
0x1949, 0xE6B6, 0x2F78, 0xEC79, 0xA80F, 0xDFA9, 0x477A, 0xD784,
0x1130, 0xFCF6, 0x0B8D, 0xAD6B, 0xF02F, 0xF17D, 0x3925, 0xEC40,
0x24D9, 0x60AB, 0xBFE4, 0xFC85, 0x365B, 0x3C38, 0xFFC8, 0x2A3C,
0x1FD0, 0x0135, 0xEC59, 0x525C, 0xDBF4, 0x2831, 0xD420, 0x0E33,
0xD0AC, 0x16CF, 0x4315, 0xEFE1, 0x17A1, 0x7C83, 0x13DF, 0x31B2,
0xF54E, 0xE278, 0x187F, 0xCDE2, 0xBBDD, 0xF830, 0x599F, 0x46EC,
0xF5C8, 0xDC90, 0x299F, 0xC8E2, 0x1166, 0x0990, 0x0431, 0x24E0,
0xE165, 0x9B13, 0x9921, 0xDDED, 0x22BD, 0x136D, 0x4A2B, 0xD9E2,
0x2AFA, 0x3917, 0xB989, 0xD490, 0x0F3E, 0xC884, 0x40B8, 0x1BAF,
0xB490, 0x0046, 0xE5A3, 0x0DDC, 0x02A1, 0x0D6B, 0xF8CA, 0x0530,
0x9F26, 0x12E1, 0xD4C7, 0x34D4, 0x3B51, 0xDC4A, 0xA2FE, 0x0746,
0xB21E, 0xF3F6, 0x6134, 0x37E1, 0xF5F5, 0x1FB1, 0xBDED, 0x1E50,
0x3FE4, 0xE27D, 0x744C, 0x10F4, 0x3809, 0x2998, 0xBBE3, 0xEB12,
0xFD40, 0xABC5, 0x336B, 0x2327, 0xE6FA, 0x1DE4, 0x343D, 0xAE1B,
0xC7CF, 0xF6E1, 0x3E32, 0x167E, 0x391A, 0x8D3D, 0xDA6C, 0x0B48,
0xEB83, 0xD782, 0xC3F8, 0xEF96, 0x11DB, 0xEEE6, 0xE9EC, 0xF82C,
0x35E3, 0xB844, 0xE9C2, 0x3CCF, 0x01D2, 0x224E, 0xD982, 0xCBA3,
0xF554, 0xD2B0, 0x013D, 0x68A0, 0x2036, 0xBB5F, 0x1F2B, 0x8000,
0xC8FD, 0x0B4F, 0x0007, 0x267F, 0xE09E, 0x151B, 0x1BD6, 0xEB44,
0x0082, 0xCD6E, 0x0BCA, 0x47F4, 0xE0B5, 0x2457, 0xF8EA, 0xC086,
0xAE06, 0x282B, 0x0FA5, 0xD9BB, 0xE484, 0x319D, 0x5677, 0x2B75,
0xFD81, 0xD2B0, 0xD643, 0x031A, 0x9E6F, 0x0CF5, 0xDA55, 0x197B,
0xEDAF, 0x0208, 0xE579, 0xE695, 0x3D2C, 0x4BDE, 0x1F82, 0x0C99,
0x0AE6, 0x1E51, 0x00B6, 0xC284, 0x13D3, 0x30C9, 0xCC46, 0x06A9,
0x7A33, 0xFA26, 0x4754, 0xAD17, 0x01E7, 0x1D4A, 0x43FA, 0x32EE,
0xE719, 0x4282, 0xD850, 0xCC17, 0x5E80, 0xBDED, 0x11A6, 0x0DF1,
0xDB5F, 0x2EB8, 0xCF94, 0x2337, 0x32FE, 0xD3BB, 0x0975, 0xF931
0x0EB1, 0xD7DA, 0xDFC2, 0x2DDA, 0xAEB8, 0x1A8C, 0x34D0, 0xC949,
0x19FF, 0x1AFC, 0xD67E, 0x2639, 0x1546, 0xF32D, 0x2A82, 0xB79E,
0x1317, 0xEAF2, 0xCBD9, 0xC454, 0x42FD, 0xBB89, 0x9B4F, 0xCE5C,
0x09A1, 0xDFC2, 0xD780, 0x2B2C, 0x0FDB, 0xC69C, 0x5D9B, 0xBC82,
0x2794, 0xC287, 0x152B, 0xDA69, 0x2BE1, 0xE9BB, 0xD5EE, 0xC7C4,
0xBCDA, 0xC828, 0x19B1, 0x5F41, 0x5146, 0x00F0, 0xDEF6, 0x2A44,
0xCD0A, 0xE918, 0xF4D0, 0xD863, 0x241F, 0xE030, 0x26F3, 0x1ACB,
0x245C, 0x047C, 0x9433, 0x2BF5, 0x2F0F, 0x40E5, 0xC00D, 0x849C,
0x215D, 0xDE1B, 0x264A, 0x311D, 0x0C88, 0x1028, 0x2D8F, 0xCE0E,
0x1B43, 0x5529, 0x2914, 0xE215, 0x0C95, 0xF727, 0xDF21, 0xD12E,
0xBF74, 0xBFB5, 0xC4B0, 0xCDBB, 0xE3D0, 0xFAF9, 0x2579, 0xE9F5,
0xE00D, 0xE3B7, 0x2FE5, 0xE7A2, 0xE72C, 0x4C12, 0x156E, 0x03A9,
0xE767, 0x14B9, 0x8F36, 0x54D3, 0xF8CF, 0xC5F2, 0xE3E2, 0x3EEB,
0x054A, 0x6482, 0x013C, 0xFF6D, 0x078F, 0xA20A, 0xEF63, 0xCBAB,
0xC222, 0xA967, 0x3F6B, 0xFAFE, 0x1498, 0xF9D3, 0xC2C3, 0xCD2C,
0x1B37, 0xA9E8, 0xF8A4, 0xD3A6, 0xD238, 0x55EC, 0xF7FA, 0x007C,
0xC1BF, 0x161F, 0x8000, 0x273D, 0xEEC7, 0xFDDA, 0xD41C, 0x51C4,
0x1697, 0x3C98, 0x2E62, 0xC85D, 0x01FF, 0xC356, 0xBCC5, 0xF6C0,
0xC2FB, 0x1CC0, 0xC736, 0xED5C, 0x1B3C, 0xCEDC, 0xDC71, 0xD699,
0x895A, 0xF44E, 0xFEAB, 0xB470, 0xE176, 0xC915, 0x23AD, 0xDBDE,
0x2579, 0xB028, 0xF293, 0xF1D3, 0x2BE9, 0x3FE0, 0x5143, 0x8BB5,
0xD9A9, 0xC304, 0x5BE4, 0xBD39, 0xF24A, 0xC721, 0xE044, 0xE5EB,
0x3015, 0x22EB, 0x0FC5, 0xF766, 0xCAEC, 0x356E, 0xF105, 0xE3F6,
0xC69B, 0xC858, 0x1EF3, 0xD29A, 0xF220, 0x156B, 0x0625, 0xD1BA,
0x0DF9, 0x6A80, 0xECF5, 0xBBC4, 0xE8B3, 0x1DBD, 0x27ED, 0x43D5,
0x38E0, 0x0942, 0x0DB3, 0x93F4, 0xF640, 0xBC17, 0xFB75, 0xB565,
0x39FD, 0x037E, 0x533F, 0x3981, 0x2FC2, 0xA54D, 0x2DAC, 0x403B,
0xD1AC, 0x2397, 0x06C3, 0xDD46, 0x9F4C, 0xF716, 0xD4F2, 0xFEEA,
0xCE26, 0xF1C9, 0x376E, 0x2D6C, 0x1DA1, 0x1ADF, 0x2DB9, 0x1E02,
0xFA30, 0x0633, 0x4356, 0x06F1, 0x0751, 0x2881, 0x1D47, 0x2D8C,
0xA430, 0xB60E, 0x9CBD, 0xF925, 0xF90C, 0x235A, 0xDAAC, 0x3B2B,
0x112A, 0x8F09, 0x00B9, 0xB234, 0xA386, 0xD619, 0x20AA, 0x5063
};
static const q15_t in_com2[256] = {
0x5BEF, 0xCD49, 0xD8CC, 0xBCD1, 0x124D, 0x28B3, 0xEB78, 0xF49C,
0xA373, 0xC377, 0x3AA9, 0xE95C, 0xE7C2, 0x1609, 0x0701, 0x8EDC,
0x4575, 0xF6FE, 0x2984, 0x251E, 0x0DCB, 0xDB0F, 0x2334, 0xD03C,
0xC6C9, 0x07B7, 0x182D, 0xD4A4, 0x5C38, 0x247E, 0xE6B6, 0xD58B,
0x325B, 0x12BF, 0x0C80, 0xFE05, 0xDC90, 0xFB0F, 0x1B69, 0x1DA4,
0xCB87, 0x375F, 0x3E5F, 0xE3CB, 0x2385, 0xE1C9, 0x1AB3, 0xDD08,
0xE452, 0x52FD, 0x2572, 0x191A, 0xFB72, 0x7941, 0x079D, 0xDEF2,
0xFE12, 0xBF31, 0x3296, 0x4077, 0xF27F, 0xED4F, 0xC345, 0xCFE8,
0xEF2D, 0x362D, 0x01F2, 0xE18B, 0x5BCC, 0xCD4F, 0x1DB8, 0xF67E,
0x30C2, 0xDDA6, 0xD3A7, 0x0808, 0xFE0C, 0x2060, 0xFB8E, 0xC8A6,
0x5CE7, 0x0CCF, 0xEF0C, 0xBDF0, 0xE9D4, 0xD0C4, 0x0C5F, 0x2A6E,
0xD463, 0xE6A1, 0x012F, 0x2E73, 0x638B, 0x1A26, 0x2924, 0xA5FB,
0x1635, 0x1B53, 0xF20D, 0xF1F0, 0x4925, 0x3455, 0xE755, 0x05B0,
0x08EF, 0xA9AD, 0xB265, 0x2B29, 0xD498, 0x9FBD, 0xDD48, 0xE157,
0x0F76, 0xD0C9, 0xDF15, 0xD4AE, 0xCA70, 0xC60A, 0xD7B2, 0xFAF8,
0x05CD, 0xE2E8, 0xC5AD, 0x0C0D, 0x2788, 0x82BD, 0xB980, 0xB52A,
0x42E7, 0xE7C5, 0x0D92, 0xDCBC, 0xDBB4, 0x1E56, 0xC294, 0xA978,
0xEB0B, 0x8000, 0xA9F3, 0xFD66, 0xA7F6, 0x6C1E, 0x081F, 0xE43E,
0xB17F, 0xBB34, 0x07A6, 0xC7DC, 0x10FF, 0xF30F, 0xD144, 0xDA95,
0xBA0D, 0x29FB, 0xC632, 0xC62D, 0x1EF3, 0x1CBE, 0x05A0, 0x11E5,
0x9BF1, 0xFE71, 0x210D, 0xDF0F, 0xEBDD, 0x1624, 0xDC7B, 0x0037,
0x13C6, 0xD67D, 0xED4B, 0x4B30, 0xF83A, 0xC155, 0xFA35, 0xB7E9,
0x2092, 0xEE3F, 0x2E0D, 0x2FBB, 0xE895, 0x3864, 0xDD37, 0x506D,
0x2A4F, 0x1985, 0xC6C0, 0xFE51, 0xDD21, 0x3E4B, 0x0477, 0xA787,
0x50B2, 0xD077, 0xEDC1, 0xEEC5, 0x2F11, 0xB66F, 0x2736, 0xE096,
0xEF0B, 0xAA5A, 0xC5A1, 0x3F43, 0x4233, 0xFDC0, 0xEA68, 0xF1E6,
0x0223, 0xFB8A, 0xEC14, 0xF4FB, 0x4CDA, 0x07DD, 0xC193, 0xE081,
0x2568, 0xF69E, 0xDC8B, 0xC626, 0x07BE, 0xFCD6, 0x03F5, 0xB9DA,
0xF5FC, 0xECB8, 0xFD33, 0x03C6, 0xEACC, 0x179A, 0xDFE6, 0x1AC1,
0x15FF, 0xF360, 0x1F14, 0xFF6B, 0xA709, 0xC3C2, 0x0266, 0xEE87,
0x17B0, 0xF837, 0xD7FE, 0x9FBE, 0x23E2, 0xEF5B, 0xD71F, 0xDD01,
0x1DF9, 0xF2FC, 0xEDBC, 0x095E, 0xCC88, 0xD846, 0x799F, 0xD9D0
0xF977, 0xF484, 0xB38D, 0xC049, 0x127F, 0xEE0D, 0x5183, 0x1CFF,
0x2EC8, 0x7FFF, 0x44B4, 0xD9AD, 0x4410, 0x27AA, 0x0313, 0xC597,
0xA23C, 0xFCF7, 0xF6CA, 0x0540, 0x3DD7, 0x4BA0, 0xCB04, 0x4650,
0x5117, 0x0F7A, 0x16B7, 0x0052, 0x04F6, 0xCBB2, 0xD270, 0xFCD5,
0xDFF0, 0x389E, 0x2413, 0xD405, 0x08F1, 0xF872, 0xABD2, 0x13D4,
0x86AB, 0xDECA, 0xEFE1, 0x04D6, 0x2F20, 0xE4F2, 0x74C9, 0xFAFF,
0x1E5B, 0x4BBC, 0xE50F, 0x26A3, 0xF12F, 0x9774, 0x0465, 0x0FE1,
0xB3DD, 0xFF6A, 0x2B48, 0xD882, 0xD6B7, 0x077A, 0xE7AC, 0x94B7,
0x03BB, 0x2E0B, 0xEE40, 0xED35, 0xEC88, 0x3365, 0x60B5, 0x249E,
0x03B7, 0xCCB7, 0xB6E0, 0xB83B, 0xEB34, 0xEC7F, 0xEC20, 0x037F,
0x29F7, 0x9EE0, 0x0079, 0xF08C, 0xE025, 0xE064, 0xF44A, 0x28BF,
0xDB1A, 0x11F0, 0xFF16, 0x5896, 0x01D3, 0x2546, 0x0D96, 0xE7A4,
0xFBAF, 0xC158, 0x1BD0, 0x1349, 0x0F56, 0x3C3A, 0x0971, 0x0144,
0x0103, 0xD605, 0x5F13, 0xD660, 0x56D8, 0x281A, 0xCB9C, 0xF087,
0x0DF1, 0xE910, 0x00A3, 0xDB1F, 0xEF24, 0xCB3C, 0xFDC3, 0x33BF,
0xC071, 0x2387, 0x1D00, 0xFCAB, 0xDEAF, 0xD8BE, 0x50D2, 0xA530,
0x3BED, 0x33D0, 0xC7B0, 0x8906, 0x1389, 0x5832, 0x12A8, 0xCD6B,
0x3FB1, 0x2AF3, 0x1438, 0x230A, 0x1D37, 0xDBE5, 0xC794, 0xCF49,
0xBD1F, 0x0352, 0xDDEF, 0xF71B, 0xF034, 0x69E3, 0xE115, 0xD0FB,
0x14C9, 0xF522, 0xDF36, 0xE814, 0xE306, 0x2CE3, 0xDB81, 0x6658,
0x02D7, 0x1E97, 0xBA82, 0xEE1A, 0x5C73, 0x2956, 0xBC37, 0xF3FA,
0xD52D, 0xFE74, 0xA370, 0xE439, 0x007A, 0x0138, 0xF675, 0xDAB6,
0xFB95, 0xE5D5, 0xF490, 0xF4FD, 0x0BD8, 0x58FF, 0xE5FA, 0x1DC2,
0x0DB3, 0xD10F, 0x006F, 0xC3FA, 0xE69E, 0xFF03, 0x01C4, 0x2F8A,
0xE336, 0x05F5, 0xD870, 0xDF1E, 0x532B, 0x2F9B, 0xED67, 0xB192,
0xF663, 0xC955, 0xD832, 0xCB4F, 0x060B, 0x136A, 0x3EC8, 0xCBF4,
0xF509, 0x480F, 0x22B4, 0xE9D0, 0x3610, 0x35F0, 0xD66A, 0xC10A,
0x3476, 0x0C80, 0x002B, 0xEF29, 0x02A2, 0x8E39, 0xED70, 0x0D5D,
0x8AF0, 0x1793, 0x1CD9, 0xE7A7, 0x45C4, 0x422D, 0xCF10, 0x3A84,
0xF767, 0xC650, 0xF766, 0xCAA0, 0x2688, 0x1341, 0x3C45, 0x492B,
0x01EE, 0x156F, 0x0862, 0x28AF, 0x42C1, 0xE27E, 0x0164, 0x8BC3,
0x678D, 0xEECA, 0xCAF7, 0xE0AD, 0x15EB, 0x9059, 0xCAB6, 0xFE6E
};
static const q15_t in_bitwise1[23] = {
0xE7BA, 0x983A, 0x5234, 0x5F81, 0x424D, 0xB38C, 0x2114, 0x2AE2,
0x0568, 0xD577, 0x2578, 0x8DA7, 0x7A7A, 0x0713, 0x6772, 0xCAD1,
0x3F0D, 0xECF0, 0xAB31, 0x84E1, 0xC8F6, 0x7454, 0x6579
0xF97D, 0x7E98, 0xE83E, 0x9006, 0x8ECF, 0x82B2, 0x873C, 0xE6D0,
0x42C6, 0xA110, 0x7D1E, 0x0CDC, 0xB6CC, 0xB5A5, 0xB245, 0xC19A,
0x7B95, 0xB857, 0x3E23, 0xECC1, 0x8AC4, 0xA9A0, 0x7CFF
};
static const q15_t in_bitwise2[23] = {
0x7A8F, 0xD47F, 0xC328, 0xDA37, 0xDC12, 0x0328, 0x0AFA, 0xEAB3,
0x494B, 0x3518, 0x538E, 0x51DA, 0x2BB3, 0xD2BF, 0xBFB6, 0x9A7E,
0x34EA, 0xADDF, 0x191C, 0x67F2, 0x52D9, 0xA314, 0x3C94
0xABDB, 0x927F, 0x5D5D, 0xF0CC, 0x90C8, 0xE1A9, 0xCACF, 0x2B30,
0xEDC4, 0x5AB6, 0x7E72, 0x7867, 0x0B8A, 0x0E28, 0x6421, 0x5673,
0x8AE7, 0xF8DC, 0x45A3, 0xF95D, 0x4B42, 0xB9A3, 0x7FE6
};
static const q15_t in_rand[17] = {
0xF522, 0xF5AF, 0x194D, 0x05FC, 0x0362, 0x18D5, 0x05CD, 0x08FE,
0xE270, 0x0684, 0xFB50, 0xFB51, 0xD555, 0xFC55, 0xF4AF, 0x2203,
0x21AE
0x271B, 0xDA32, 0x1348, 0xF2FB, 0x2AAB, 0x011B, 0x04BE, 0xEDA1,
0xF82B, 0xF5EC, 0x201A, 0xE56E, 0xE8B7, 0x09B3, 0x1889, 0x15E1,
0x00F3
};
static const q15_t in_maxpos[17] = {
@ -104,39 +104,77 @@ static const q15_t in_maxneg2[17] = {
0x8000
};
static const q15_t in_clip[279] = {
0x8CCD, 0x8DA1, 0x8E75, 0x8F49, 0x901D, 0x90F2, 0x91C6, 0x929A,
0x936E, 0x9442, 0x9516, 0x95EB, 0x96BF, 0x9793, 0x9867, 0x993B,
0x9A0F, 0x9AE4, 0x9BB8, 0x9C8C, 0x9D60, 0x9E34, 0x9F08, 0x9FDD,
0xA0B1, 0xA185, 0xA259, 0xA32D, 0xA401, 0xA4D6, 0xA5AA, 0xA67E,
0xA752, 0xA826, 0xA8FA, 0xA9CF, 0xAAA3, 0xAB77, 0xAC4B, 0xAD1F,
0xADF3, 0xAEC8, 0xAF9C, 0xB070, 0xB144, 0xB218, 0xB2EC, 0xB3C1,
0xB495, 0xB569, 0xB63D, 0xB711, 0xB7E5, 0xB8BA, 0xB98E, 0xBA62,
0xBB36, 0xBC0A, 0xBCDE, 0xBDB3, 0xBE87, 0xBF5B, 0xC02F, 0xC103,
0xC1D7, 0xC2AC, 0xC380, 0xC454, 0xC528, 0xC5FC, 0xC6D0, 0xC7A5,
0xC879, 0xC94D, 0xCA21, 0xCAF5, 0xCBC9, 0xCC9E, 0xCD72, 0xCE46,
0xCF1A, 0xCFEE, 0xD0C2, 0xD197, 0xD26B, 0xD33F, 0xD413, 0xD4E7,
0xD5BB, 0xD690, 0xD764, 0xD838, 0xD90C, 0xD9E0, 0xDAB4, 0xDB89,
0xDC5D, 0xDD31, 0xDE05, 0xDED9, 0xDFAD, 0xE082, 0xE156, 0xE22A,
0xE2FE, 0xE3D2, 0xE4A6, 0xE57B, 0xE64F, 0xE723, 0xE7F7, 0xE8CB,
0xE99F, 0xEA74, 0xEB48, 0xEC1C, 0xECF0, 0xEDC4, 0xEE98, 0xEF6D,
0xF041, 0xF115, 0xF1E9, 0xF2BD, 0xF391, 0xF466, 0xF53A, 0xF60E,
0xF6E2, 0xF7B6, 0xF88A, 0xF95F, 0xFA33, 0xFB07, 0xFBDB, 0xFCAF,
0xFD83, 0xFE58, 0xFF2C, 0x0000, 0x00D4, 0x01A8, 0x027D, 0x0351,
0x0425, 0x04F9, 0x05CD, 0x06A1, 0x0776, 0x084A, 0x091E, 0x09F2,
0x0AC6, 0x0B9A, 0x0C6F, 0x0D43, 0x0E17, 0x0EEB, 0x0FBF, 0x1093,
0x1168, 0x123C, 0x1310, 0x13E4, 0x14B8, 0x158C, 0x1661, 0x1735,
0x1809, 0x18DD, 0x19B1, 0x1A85, 0x1B5A, 0x1C2E, 0x1D02, 0x1DD6,
0x1EAA, 0x1F7E, 0x2053, 0x2127, 0x21FB, 0x22CF, 0x23A3, 0x2477,
0x254C, 0x2620, 0x26F4, 0x27C8, 0x289C, 0x2970, 0x2A45, 0x2B19,
0x2BED, 0x2CC1, 0x2D95, 0x2E69, 0x2F3E, 0x3012, 0x30E6, 0x31BA,
0x328E, 0x3362, 0x3437, 0x350B, 0x35DF, 0x36B3, 0x3787, 0x385B,
0x3930, 0x3A04, 0x3AD8, 0x3BAC, 0x3C80, 0x3D54, 0x3E29, 0x3EFD,
0x3FD1, 0x40A5, 0x4179, 0x424D, 0x4322, 0x43F6, 0x44CA, 0x459E,
0x4672, 0x4746, 0x481B, 0x48EF, 0x49C3, 0x4A97, 0x4B6B, 0x4C3F,
0x4D14, 0x4DE8, 0x4EBC, 0x4F90, 0x5064, 0x5138, 0x520D, 0x52E1,
0x53B5, 0x5489, 0x555D, 0x5631, 0x5706, 0x57DA, 0x58AE, 0x5982,
0x5A56, 0x5B2A, 0x5BFF, 0x5CD3, 0x5DA7, 0x5E7B, 0x5F4F, 0x6023,
0x60F8, 0x61CC, 0x62A0, 0x6374, 0x6448, 0x651C, 0x65F1, 0x66C5,
0x6799, 0x686D, 0x6941, 0x6A15, 0x6AEA, 0x6BBE, 0x6C92, 0x6D66,
0x6E3A, 0x6F0E, 0x6FE3, 0x70B7, 0x718B, 0x725F, 0x7333
};
static const q15_t ref_add[256] = {
0x7166, 0xA05B, 0xE6B8, 0xBAA4, 0x3006, 0x062F, 0xE1C3, 0xF96F,
0xD305, 0xA0D1, 0x2887, 0xE388, 0xF521, 0x5811, 0x007B, 0x8D08,
0x495D, 0x263D, 0x4264, 0x43D2, 0x05AD, 0xCEB9, 0x7336, 0xD394,
0xD257, 0xE693, 0xE7F5, 0xD654, 0x7FFF, 0x4468, 0x8000, 0x90CA,
0x316B, 0xDD44, 0x2C86, 0x71BD, 0xB591, 0x2C5B, 0xF239, 0x235E,
0xE4D0, 0x1E16, 0x6DD7, 0xD044, 0xCB94, 0xC172, 0x622D, 0xB48C,
0xF582, 0x4FF4, 0x30FF, 0xC686, 0xEBA1, 0x6ABD, 0x40C2, 0xCB31,
0x22EB, 0x1FDD, 0xF27A, 0x3CFD, 0x28DA, 0x2987, 0xC30D, 0xFA24,
0x0EFD, 0x3763, 0xEE4B, 0x33E7, 0x37BF, 0xF581, 0xF1D8, 0x04B0,
0x016D, 0xF475, 0x16BC, 0xF7E9, 0x15AD, 0x7FFF, 0x0F6D, 0xFA58,
0x5235, 0xEF47, 0x078B, 0x8BD3, 0xA5B1, 0xC8F4, 0x65FE, 0x715A,
0xCA2B, 0xC331, 0x2ACF, 0xF755, 0x74F1, 0x23B6, 0x2D55, 0xCADB,
0xF79B, 0xB666, 0x8B2E, 0xCFDC, 0x6BE2, 0x47C2, 0x3180, 0xDF92,
0x33E9, 0xE2C4, 0x8000, 0xFFB9, 0xE3D6, 0x8000, 0x1E01, 0xFD06,
0xC406, 0xD10F, 0xC4B7, 0xE28A, 0xCD11, 0xD374, 0xD07C, 0x0028,
0xA4F3, 0xF5C9, 0x9A74, 0x40E2, 0x62D9, 0x8000, 0x8000, 0xBC70,
0xF505, 0xDBBB, 0x6EC7, 0x149C, 0xD1AA, 0x3E07, 0x8080, 0xC7C9,
0x2AEF, 0x8000, 0x1E40, 0x0E5A, 0xDFFF, 0x7FFF, 0xC402, 0xCF50,
0xAEBF, 0x8000, 0x3B12, 0xEB03, 0xF7F9, 0x10F3, 0x0581, 0x88B0,
0x81DC, 0x20DC, 0x0464, 0xDCAB, 0x580C, 0xA9FB, 0xE00C, 0x1D2E,
0x8774, 0xD5F4, 0xE504, 0xCEA5, 0xFDB9, 0x0509, 0xC667, 0xF863,
0x49A9, 0x8EC1, 0xD70D, 0x7FFF, 0xFA0D, 0xE3A3, 0xD3B7, 0x838C,
0x15E7, 0xC0F0, 0x2F4A, 0x7FFF, 0x08CB, 0xF3C3, 0xFC62, 0xD06D,
0xF34C, 0x24D3, 0xC6C7, 0x24D0, 0xBDC0, 0x5366, 0x204D, 0x92CB,
0x5133, 0x9DE6, 0xF98B, 0x36B9, 0x0FC6, 0xDAC6, 0x2020, 0xA11C,
0x9D11, 0xD285, 0xD546, 0x18FD, 0x26B7, 0x2F5D, 0x40DF, 0x1D5B,
0xFFA3, 0xCE3A, 0xC258, 0xF815, 0xEB48, 0x14D2, 0x9BE8, 0xF9FC,
0x1317, 0xF8A6, 0xC204, 0xACBB, 0x44EA, 0x48B4, 0x2377, 0xC673,
0x00E2, 0x0B09, 0xFDE9, 0xC64A, 0xFE9F, 0x4864, 0xAC2C, 0x216A,
0x7FFF, 0xED85, 0x6668, 0xAC82, 0xA8EF, 0xE10C, 0x4660, 0x2176,
0xFEC9, 0x3AB9, 0xB04E, 0x8000, 0x7FFF, 0xAD48, 0xE8C5, 0xEAF2,
0xF958, 0x21B4, 0xBD50, 0x2C95, 0xFF86, 0xAC02, 0x7FFF, 0xD301
0x0827, 0xCC5E, 0x934F, 0xEE23, 0xC137, 0x0899, 0x7FFF, 0xE647,
0x48C7, 0x7FFF, 0x1B32, 0xFFE7, 0x5956, 0x1AD7, 0x2D96, 0x8000,
0xB553, 0xE7E9, 0xC2A3, 0xC994, 0x7FFF, 0x072A, 0x8000, 0x14AC,
0x5AB8, 0xEF3B, 0xEE37, 0x2B7E, 0x14D1, 0x924E, 0x300B, 0xB957,
0x0784, 0xFB26, 0x393E, 0xAE6E, 0x34D3, 0xE22D, 0x81C0, 0xDB98,
0x8000, 0xA6F2, 0x0992, 0x6417, 0x7FFF, 0xE5E2, 0x53BF, 0x2543,
0xEB65, 0x34D3, 0xD9DF, 0xFF06, 0x154E, 0x8000, 0x2B58, 0x2AAC,
0xD839, 0x03E6, 0xBF7B, 0x0477, 0x05C7, 0x485F, 0xA7B9, 0x8000,
0x2518, 0x0C26, 0x148A, 0x1E53, 0xF910, 0x438D, 0x7FFF, 0xF2AD,
0x1EFA, 0x21E0, 0xDFF5, 0x9A50, 0xF7C9, 0xE3A5, 0xCB41, 0xD4AD,
0xE96C, 0x8000, 0xC529, 0xBE46, 0xC3F5, 0xDB5D, 0x19C2, 0x12B5,
0xBB27, 0xF5A7, 0x2EFA, 0x4038, 0xE8FF, 0x7159, 0x2304, 0xEB4D,
0xE317, 0xD611, 0xAB06, 0x681C, 0x0825, 0x022B, 0xED53, 0x402F,
0x064D, 0x3A86, 0x6050, 0xD5CD, 0x5E68, 0xCA23, 0xBAFF, 0xBC32,
0xD013, 0x9277, 0x400E, 0xD61D, 0x03BC, 0xC50F, 0xC086, 0x00EB,
0xDBA8, 0xCD6F, 0x15A4, 0xD051, 0xB0E7, 0x2EAA, 0x48CC, 0xA5AC,
0xFDAC, 0x49EF, 0x8000, 0xB044, 0x0250, 0x560C, 0xE6C4, 0x1F2F,
0x5648, 0x678B, 0x429A, 0xEB67, 0x1F37, 0x9F3B, 0x8458, 0xC609,
0x801A, 0x2012, 0xA525, 0xE477, 0x0B71, 0x38BF, 0xBD86, 0xA794,
0x9E23, 0xE970, 0xDDE1, 0x9C84, 0xC47B, 0xF5F8, 0xFF2E, 0x4237,
0x2851, 0xCEBF, 0xAD15, 0xDFED, 0x7FFF, 0x6936, 0x0D7A, 0x8000,
0xAED7, 0xC178, 0xFF54, 0xA172, 0xF2C4, 0xC859, 0xD6B9, 0xC0A1,
0x2BAA, 0x08C0, 0x0455, 0xEC63, 0xD6C4, 0x7FFF, 0xD6FF, 0x01B8,
0xD44E, 0x9968, 0x1F62, 0x9693, 0xD8BE, 0x146E, 0x07E9, 0x0143,
0xF12F, 0x7075, 0xC565, 0x9AE2, 0x3BDE, 0x4D58, 0x1554, 0xF567,
0x2F43, 0xD297, 0xE5E5, 0x8000, 0xFC4B, 0xCF81, 0x3A3C, 0x8158,
0x2F06, 0x4B8E, 0x75F2, 0x2351, 0x65D3, 0xDB3E, 0x0417, 0x0145,
0x0623, 0x3017, 0x06EE, 0xCC6F, 0xA1ED, 0x854F, 0xC262, 0x0C47,
0x8000, 0x095C, 0x5447, 0x1513, 0x6365, 0x5D0C, 0xFCC9, 0x5886,
0xF197, 0xCC83, 0x3ABC, 0xD191, 0x2DD9, 0x3BC2, 0x598C, 0x76B7,
0xA61E, 0xCB7E, 0xA51F, 0x21D4, 0x3BCD, 0x05D8, 0xDC10, 0xC6EE,
0x78B7, 0x8000, 0xCBB0, 0x92E1, 0xB971, 0x8000, 0xEB5F, 0x4ED1
};
static const q15_t ref_add_possat[17] = {
@ -152,38 +190,38 @@ static const q15_t ref_add_negsat[17] = {
};
static const q15_t ref_sub[256] = {
0xB987, 0x05C9, 0x3520, 0x4103, 0x0B6D, 0xB4C9, 0x0AD2, 0x1036,
0x7FFF, 0x19E3, 0xB334, 0x10D0, 0x259E, 0x2BFE, 0xF279, 0x6F50,
0xBE72, 0x3841, 0xEF5D, 0xF997, 0xEA18, 0x189A, 0x2CCE, 0x331B,
0x44C5, 0xD725, 0xB79A, 0x2D0D, 0xCEF6, 0xFB6C, 0xAD07, 0xE5B4,
0xCCB4, 0xB7C7, 0x1386, 0x75B3, 0xFC72, 0x363C, 0xBB66, 0xE816,
0x4DC1, 0xAF57, 0xF119, 0x08AE, 0x848A, 0xFDE0, 0x2CC6, 0xFA7B,
0x2CDE, 0xA9F9, 0xE61B, 0x9451, 0xF4BD, 0x8000, 0x3188, 0x0D4E,
0x26C8, 0x7FFF, 0x8D4F, 0xBC0E, 0x43DD, 0x4EE9, 0x3C82, 0x5A54,
0x30A4, 0xCB08, 0xEA67, 0x70D0, 0x8028, 0x5AE2, 0xB668, 0x17B5,
0x9FEA, 0x3929, 0x6F6E, 0xE7D9, 0x1994, 0x5C23, 0x1851, 0x690C,
0x9867, 0xD5AA, 0x2973, 0x0FF2, 0xD209, 0x276D, 0x4D3F, 0x1C7E,
0x2165, 0xF5EF, 0x2870, 0x9A6F, 0xADDB, 0xEF6B, 0xDB0E, 0x7EE6,
0xCB30, 0x8000, 0xA714, 0xEBFD, 0xD998, 0xDF18, 0x62D6, 0xD432,
0x220B, 0x7FFF, 0x0724, 0xA966, 0x3AA6, 0x28C7, 0x6370, 0x3A58,
0xA519, 0x2F7D, 0x068E, 0x392E, 0x3830, 0x4761, 0x2117, 0x0A38,
0x9959, 0x2FF9, 0x0F1A, 0x28C7, 0x13C9, 0x598E, 0xE97E, 0x521C,
0x8000, 0x0C32, 0x53A2, 0x5B25, 0x1A41, 0x015B, 0xFB59, 0x74D8,
0x54D8, 0x627D, 0x7FFF, 0x138D, 0x7FFF, 0xBD7A, 0xB3C4, 0x06D4,
0x4BC2, 0xF092, 0x2BC5, 0x5B4B, 0xD5FB, 0x2AD5, 0x62FA, 0xD386,
0x0DC2, 0xCCE6, 0x7800, 0x5051, 0x1A27, 0x8000, 0xD4CC, 0xF963,
0x4F93, 0xD911, 0xA2EB, 0x1087, 0x25FE, 0xD8C2, 0x0D71, 0xF7F4,
0x221D, 0xE1C7, 0xFC76, 0xF19F, 0x0998, 0x60FA, 0xDF4D, 0x13BA,
0xD4C2, 0xE471, 0xD330, 0x38E5, 0x37A0, 0x82FB, 0x41F4, 0x8000,
0x9EAD, 0xF1CA, 0x3947, 0x282E, 0x037D, 0xD6D1, 0x1760, 0x43BD,
0xAFD0, 0xFCF7, 0x1E09, 0x592F, 0xB1A4, 0x6DE8, 0xD1B4, 0xDFEF,
0xBEFB, 0x7DD1, 0x4A04, 0x9A78, 0xA251, 0x33DD, 0x6C10, 0x398F,
0xFB5E, 0xD726, 0xEA2F, 0x0E1F, 0x8000, 0x0517, 0x18C2, 0x38FA,
0xC847, 0x0B6A, 0x08ED, 0x206F, 0x356E, 0x4F08, 0x1B8D, 0x52BE,
0x14EA, 0x3199, 0x0383, 0xBEBE, 0x2907, 0x192F, 0xEC60, 0xEBE9,
0x6434, 0x06C6, 0x283F, 0xADAC, 0x5ADE, 0x5988, 0x4194, 0x4467,
0xCF69, 0x4A4B, 0x0053, 0x2C59, 0x3A9F, 0xCE91, 0x3A88, 0x30F0,
0xBD66, 0x3BBD, 0xE1D9, 0x19D8, 0x6675, 0xFB75, 0x8FD6, 0x1F60
0x153A, 0xE356, 0x2C35, 0x6D91, 0x9C39, 0x2C7F, 0xE34D, 0xAC4A,
0xEB37, 0x9AFC, 0x91CA, 0x4C8C, 0xD136, 0xCB83, 0x276F, 0xF207,
0x70DB, 0xEDFB, 0xD50F, 0xBF14, 0x0526, 0x8000, 0xD04B, 0x880D,
0xB88A, 0xD048, 0xC0C9, 0x2ADA, 0x0AE5, 0xFAEA, 0x7FFF, 0xBFAC,
0x47A4, 0x89E9, 0xF118, 0x0664, 0x22F0, 0xF148, 0x2A1B, 0xB3F0,
0x3630, 0xE95E, 0x29D1, 0x5A6A, 0x2226, 0x1BFE, 0x8000, 0x2F45,
0xAEAF, 0x9D5C, 0x0FC1, 0xB1C0, 0x32F0, 0x48BC, 0x228D, 0x0AEA,
0x707F, 0x0512, 0x8000, 0x5372, 0x5858, 0x396B, 0xD861, 0xEFE5,
0x1DA3, 0xB00F, 0x380B, 0x43E8, 0x2000, 0xDCC4, 0xCCDB, 0xA970,
0x178C, 0x7FFF, 0x7234, 0x29DA, 0x2162, 0x0AA8, 0xF301, 0xCDAE,
0x957D, 0x20D5, 0xC437, 0xDD2F, 0x03AC, 0x1A96, 0x312F, 0xC136,
0x04F3, 0xD1C8, 0x30CF, 0x8F0C, 0xE559, 0x26CC, 0x07D8, 0x1C05,
0xEBB8, 0x5361, 0x8000, 0x418A, 0xE978, 0x89B8, 0xDA71, 0x3DA7,
0x0447, 0x7FFF, 0xA229, 0x290C, 0xB0B7, 0x8000, 0x23C7, 0xDB24,
0xB432, 0xC057, 0x3EC8, 0x1FDF, 0x2574, 0x2E97, 0xC500, 0x996C,
0x5AC6, 0x8662, 0xDBA5, 0xD6FC, 0xF389, 0x7D2F, 0xA729, 0x5B4D,
0x85D2, 0xE250, 0xB850, 0x7FFF, 0xDB3D, 0xA5A7, 0xC174, 0x7FFF,
0xD6E5, 0x11A6, 0x1A2A, 0xA553, 0xE4C8, 0xE772, 0xF531, 0x2777,
0x05DC, 0x196E, 0xE947, 0xF641, 0x2B08, 0x8000, 0xFB5B, 0x059E,
0x8000, 0xFF2C, 0x1F75, 0xCC5C, 0xFE70, 0x9C33, 0x482C, 0x8000,
0x22A2, 0x9190, 0x3810, 0x03B9, 0xCF75, 0x168A, 0x7FFF, 0x97BB,
0x047C, 0xC490, 0x7FFF, 0xD900, 0xF1D0, 0xC5E9, 0xE9CF, 0x0B35,
0x3480, 0x3D16, 0x1B35, 0x0269, 0xBF14, 0xDC6F, 0x0B0C, 0xC635,
0xB8E8, 0xF749, 0x1E85, 0x0EA0, 0x0B82, 0x1668, 0x0461, 0xA230,
0x2AC4, 0x648A, 0x1485, 0xDCA6, 0x9587, 0xEE22, 0x3A86, 0x7FFF,
0x427D, 0x3FEC, 0x3582, 0xC8A5, 0xF035, 0xA8AE, 0xBCAD, 0xE971,
0x44F5, 0xBB6F, 0x308B, 0x4FB1, 0xF9B2, 0x8000, 0x5742, 0x7F30,
0x9D36, 0x1718, 0x0698, 0xEE1E, 0x9CAA, 0x68DD, 0xE782, 0xF18D,
0x4335, 0xDA36, 0x1A95, 0x45C5, 0xD7DD, 0xD8B2, 0x5EA9, 0xE37D,
0x02C8, 0x3FE3, 0x4BF0, 0x3C51, 0xE0C8, 0x1540, 0xE102, 0xE461,
0xA242, 0xA09F, 0x945B, 0xD076, 0xB64A, 0x40DC, 0xD948, 0x7FFF,
0xA99D, 0xA03F, 0x35C2, 0xD188, 0x8D9B, 0x45C0, 0x55F4, 0x51F5
};
static const q15_t ref_sub_possat[17] = {
@ -199,38 +237,38 @@ static const q15_t ref_sub_negsat[17] = {
};
static const q15_t ref_mult[256] = {
0x0F6B, 0x11CD, 0xFBBC, 0x0124, 0x0440, 0xF507, 0x018F, 0xFF92,
0xDD9A, 0x1063, 0xF7B0, 0x0108, 0xFD78, 0x0B5E, 0xFFA5, 0x019E,
0x021E, 0xFCAD, 0x0812, 0x08E7, 0xFF20, 0x0390, 0x1601, 0xFEC1,
0xFAD6, 0xFE01, 0xF6E4, 0xFF6D, 0x1F1B, 0x0919, 0x1564, 0x16CE,
0xFFA1, 0xF82B, 0x0321, 0xFE36, 0x0ACC, 0xFE19, 0xF72E, 0x0153,
0xF5A3, 0xF510, 0x1721, 0x044E, 0xE799, 0x07A2, 0x0EE9, 0x0B0F,
0xFC48, 0xFE08, 0x0361, 0xEFCE, 0x0090, 0xF241, 0x0366, 0x051A,
0xFF72, 0xCF0E, 0xE6AA, 0xFE3F, 0xFA44, 0xF735, 0x001B, 0xF022,
0xFBD1, 0x0083, 0xFFB4, 0xEC67, 0xE626, 0xF015, 0xF5D0, 0xFEF2,
0xEDF9, 0xF9E1, 0xE8C2, 0xFEFD, 0xFFA4, 0x1F7E, 0xFF4F, 0xEA83,
0xF83D, 0xFD0C, 0xFCC1, 0x19DE, 0x0BCD, 0x02E2, 0x08AA, 0x1782,
0x037B, 0x0706, 0x0063, 0xEC00, 0x0D88, 0x01F4, 0x0159, 0xE611,
0xFAB1, 0xEA74, 0x0B36, 0x03BE, 0x13DA, 0x07F1, 0xF1B5, 0xFE4E,
0x0300, 0xD97F, 0x2AB9, 0xF15A, 0xFAD5, 0x29BA, 0xEE72, 0xF95E,
0xF6E3, 0xFFE6, 0x06C8, 0xFB4F, 0xFEE7, 0xF9ED, 0x0245, 0xFFCC,
0xFB9C, 0xFBB5, 0x13B2, 0x04F9, 0x1252, 0x22F2, 0x333A, 0xFBBF,
0xD74B, 0x0247, 0x0A4E, 0xF09B, 0x02D9, 0x0783, 0x1FB5, 0xEB82,
0xF58A, 0x1D83, 0xB1D2, 0xFFA8, 0xD976, 0x2322, 0xFBAE, 0x048A,
0x01B0, 0x2D45, 0x0313, 0xF095, 0xFCAD, 0xFCFA, 0xECED, 0x17F1,
0x1EB5, 0xFD02, 0xE3EA, 0xF5D7, 0x0DCE, 0xE63B, 0xFE59, 0x0194,
0x1004, 0x007E, 0xF080, 0x0439, 0xFD31, 0xFD0B, 0x0620, 0xFFFD,
0x0853, 0x1744, 0x0340, 0x23B8, 0xFFE4, 0xEF34, 0x01BE, 0x1D7E,
0xFD49, 0x0649, 0x0072, 0x2704, 0xFA1C, 0xE1C4, 0xF788, 0xAF93,
0xEDD1, 0x0241, 0xFFFD, 0xFF7E, 0x088C, 0x0A46, 0x00F9, 0x0E55,
0x0052, 0x12C7, 0xFE52, 0xF650, 0xF47E, 0xEB1D, 0xFDD4, 0x0F94,
0x0ADC, 0xE520, 0xF8DE, 0xED16, 0xF1C9, 0xFF21, 0xF169, 0xFB36,
0xFFF5, 0x0194, 0x067F, 0xFFBC, 0xC56C, 0x00CC, 0x125F, 0xF9BB,
0xFAA6, 0xFFDA, 0x0759, 0x0B7D, 0x03B3, 0xFE20, 0x00F9, 0xF919,
0xFF26, 0xFB6F, 0xFFFC, 0xFE30, 0xFCB7, 0x08FF, 0x0CF9, 0x0164,
0x1500, 0x0094, 0x1152, 0x0060, 0xFEAE, 0xF237, 0x0146, 0xF90C,
0xFB64, 0xFBF4, 0x0C68, 0x270A, 0x1A7E, 0x0897, 0xFA5D, 0xFC30,
0xF76C, 0xFB40, 0x06E9, 0x0294, 0xEB7F, 0x0DBD, 0x08FD, 0x0208
0xFF40, 0x039A, 0x1342, 0xE92D, 0xF441, 0xFC47, 0x21A2, 0xF39B,
0x0980, 0x1AFC, 0xE9B9, 0xF48E, 0x0B50, 0xFC07, 0x0105, 0x2108,
0xF204, 0x0080, 0x03C1, 0xFD8E, 0x205D, 0xD78D, 0x29AE, 0xE4BC,
0x061A, 0xFC1A, 0xF8D0, 0x001C, 0x009D, 0x1774, 0xDEAE, 0x01AC,
0xF616, 0xE4CF, 0x05F7, 0x0CEB, 0x0311, 0x0150, 0x1BAB, 0xF74A,
0x3FA6, 0x0E7D, 0xFCC4, 0x039A, 0x1DEC, 0xFFCD, 0xE1DC, 0xFE59,
0xF3EA, 0xF272, 0x025B, 0xF40B, 0xFBD2, 0x19FB, 0x0156, 0x0353,
0xEA60, 0xFFFB, 0xDB8D, 0xF270, 0xF0D2, 0x03CA, 0x0C28, 0x676B,
0x00F9, 0xF3CF, 0xFAB1, 0xF8CA, 0xFE18, 0x067D, 0x226C, 0xF1B6,
0x00CB, 0xDDE1, 0xE888, 0x10C6, 0xFDF5, 0x0159, 0x051B, 0xFEB8,
0xEAD7, 0x30C9, 0xFFC8, 0x0612, 0x0704, 0x013E, 0xFC92, 0xF8FC,
0x0936, 0xFC09, 0xFFA8, 0xEF23, 0xFFA5, 0x1627, 0x0246, 0xFF4E,
0x00D4, 0xF5DB, 0xE77E, 0x0CC8, 0xFF23, 0xE4AF, 0xFDED, 0x009F,
0x000B, 0xDF09, 0x00EB, 0x0030, 0x0521, 0xE290, 0x06CD, 0x0653,
0xF943, 0x0F84, 0x0051, 0x0171, 0xFD4A, 0x028C, 0x0112, 0xEB73,
0xF27C, 0xE81B, 0xFE55, 0x0128, 0x0BEB, 0xE5A5, 0xFAEF, 0xFFA8,
0xE2DB, 0x08F4, 0x3850, 0xDB87, 0xFD5F, 0xFE85, 0xF99A, 0xDFB0,
0x0B3D, 0x1455, 0x0754, 0xF0C5, 0x0075, 0x111D, 0x1DA3, 0x0385,
0x1FE2, 0x00BF, 0x0F1D, 0x014C, 0xFCA4, 0xD759, 0x0897, 0x0F36,
0xECBC, 0x00FE, 0x0057, 0x0E1F, 0x06EA, 0xECBE, 0xF5D4, 0xE31C,
0x00D5, 0xECEB, 0x074A, 0x01FC, 0x1FB7, 0x14A1, 0xD4F7, 0x0AED,
0x0CD4, 0x00BD, 0xBD8D, 0x0E7E, 0xFFF3, 0xFF75, 0x025E, 0x0799,
0xFE57, 0xF8DD, 0xFE97, 0x00BD, 0xFB17, 0x2526, 0x030C, 0xF97B,
0xF9DB, 0x1469, 0x001B, 0x154A, 0x02C0, 0xFFD6, 0x0016, 0xEED0,
0xFCDB, 0x04F5, 0x05E3, 0x1187, 0xF0DC, 0x0B0F, 0xFA33, 0xD66F,
0xFBBB, 0xFC0C, 0xFBBD, 0x2C7A, 0xFF8A, 0xF5B3, 0xFDC5, 0x1E56,
0xFB08, 0x01F7, 0x1692, 0xF608, 0x142C, 0xD9C8, 0xF129, 0xE068,
0xED03, 0x037A, 0x0002, 0x0492, 0xFE03, 0x07EC, 0x063E, 0xFFE3,
0x2D98, 0xFD62, 0x0C7E, 0xF75C, 0x1026, 0x0DE4, 0xEE85, 0x0DB8,
0x0064, 0xFD35, 0xFB7A, 0xFD1B, 0x0234, 0x0618, 0x0DC9, 0x1A09,
0xFE9E, 0xF39E, 0xF980, 0xFDD2, 0xFC5F, 0xF7DA, 0xFF98, 0xCA45,
0x0DE3, 0x0F30, 0xFFB3, 0x130A, 0xF02A, 0x248D, 0xF267, 0xFF03
};
static const q15_t ref_mult_possat[17] = {
@ -240,38 +278,38 @@ static const q15_t ref_mult_possat[17] = {
};
static const q15_t ref_negate[256] = {
0xEA89, 0x2CEE, 0xF214, 0x022C, 0xE247, 0x2284, 0x09B5, 0xFB2E,
0xD06D, 0x22A6, 0x1223, 0x05D4, 0xF2A1, 0xBDF8, 0x0686, 0x01D4,
0xFC19, 0xD0C1, 0xE71F, 0xE14B, 0x081D, 0x0C57, 0xAFFE, 0xFCA8,
0xF472, 0x2124, 0x3039, 0xFE50, 0xD4D3, 0xE016, 0x6C44, 0x44C1,
0x00F1, 0x357A, 0xDFFA, 0x8C48, 0x26FE, 0xCEB4, 0x2931, 0xFA46,
0xE6B7, 0x194A, 0xD088, 0x1387, 0x57F1, 0x2057, 0xB886, 0x287C,
0xEED0, 0x030A, 0xF473, 0x5295, 0x0FD1, 0x0E83, 0xC6DB, 0x13C0,
0xDB27, 0x9F55, 0x401C, 0x037B, 0xC9A5, 0xC3C8, 0x0038, 0xD5C4,
0xE030, 0xFECB, 0x13A7, 0xADA4, 0x240C, 0xD7CF, 0x2BE0, 0xF1CD,
0x2F54, 0xE931, 0xBCEB, 0x101F, 0xE85F, 0x837D, 0xEC21, 0xCE4E,
0x0AB2, 0x1D88, 0xE781, 0x321E, 0x4423, 0x07D0, 0xA661, 0xB914,
0x0A38, 0x2370, 0xD661, 0x371E, 0xEE9A, 0xF670, 0xFBCF, 0xDB20,
0x1E9B, 0x64ED, 0x66DF, 0x2213, 0xDD43, 0xEC93, 0xB5D5, 0x261E,
0xD506, 0xC6E9, 0x4677, 0x2B70, 0xF0C2, 0x377C, 0xBF48, 0xE451,
0x4B70, 0xFFBA, 0x1A5D, 0xF224, 0xFD5F, 0xF295, 0x0736, 0xFAD0,
0x60DA, 0xED1F, 0x2B39, 0xCB2C, 0xC4AF, 0x23B6, 0x5D02, 0xF8BA,
0x4DE2, 0x0C0A, 0x9ECC, 0xC81F, 0x0A0B, 0xE04F, 0x4213, 0xE1B0,
0xC01C, 0x1D83, 0x8BB4, 0xEF0C, 0xC7F7, 0xD668, 0x441D, 0x14EE,
0x02C0, 0x543B, 0xCC95, 0xDCD9, 0x1906, 0xE21C, 0xCBC3, 0x51E5,
0x3831, 0x091F, 0xC1CE, 0xE982, 0xC6E6, 0x72C3, 0x2594, 0xF4B8,
0x147D, 0x287E, 0x3C08, 0x106A, 0xEE25, 0x111A, 0x1614, 0x07D4,
0xCA1D, 0x47BC, 0x163E, 0xC331, 0xFE2E, 0xDDB2, 0x267E, 0x345D,
0x0AAC, 0x2D50, 0xFEC3, 0x9760, 0xDFCA, 0x44A1, 0xE0D5, 0x7FFF,
0x3703, 0xF4B1, 0xFFF9, 0xD981, 0x1F62, 0xEAE5, 0xE42A, 0x14BC,
0xFF7E, 0x3292, 0xF436, 0xB80C, 0x1F4B, 0xDBA9, 0x0716, 0x3F7A,
0x51FA, 0xD7D5, 0xF05B, 0x2645, 0x1B7C, 0xCE63, 0xA989, 0xD48B,
0x027F, 0x2D50, 0x29BD, 0xFCE6, 0x6191, 0xF30B, 0x25AB, 0xE685,
0x1251, 0xFDF8, 0x1A87, 0x196B, 0xC2D4, 0xB422, 0xE07E, 0xF367,
0xF51A, 0xE1AF, 0xFF4A, 0x3D7C, 0xEC2D, 0xCF37, 0x33BA, 0xF957,
0x85CD, 0x05DA, 0xB8AC, 0x52E9, 0xFE19, 0xE2B6, 0xBC06, 0xCD12,
0x18E7, 0xBD7E, 0x27B0, 0x33E9, 0xA180, 0x4213, 0xEE5A, 0xF20F,
0x24A1, 0xD148, 0x306C, 0xDCC9, 0xCD02, 0x2C45, 0xF68B, 0x06CF
0xF14F, 0x2826, 0x203E, 0xD226, 0x5148, 0xE574, 0xCB30, 0x36B7,
0xE601, 0xE504, 0x2982, 0xD9C7, 0xEABA, 0x0CD3, 0xD57E, 0x4862,
0xECE9, 0x150E, 0x3427, 0x3BAC, 0xBD03, 0x4477, 0x64B1, 0x31A4,
0xF65F, 0x203E, 0x2880, 0xD4D4, 0xF025, 0x3964, 0xA265, 0x437E,
0xD86C, 0x3D79, 0xEAD5, 0x2597, 0xD41F, 0x1645, 0x2A12, 0x383C,
0x4326, 0x37D8, 0xE64F, 0xA0BF, 0xAEBA, 0xFF10, 0x210A, 0xD5BC,
0x32F6, 0x16E8, 0x0B30, 0x279D, 0xDBE1, 0x1FD0, 0xD90D, 0xE535,
0xDBA4, 0xFB84, 0x6BCD, 0xD40B, 0xD0F1, 0xBF1B, 0x3FF3, 0x7B64,
0xDEA3, 0x21E5, 0xD9B6, 0xCEE3, 0xF378, 0xEFD8, 0xD271, 0x31F2,
0xE4BD, 0xAAD7, 0xD6EC, 0x1DEB, 0xF36B, 0x08D9, 0x20DF, 0x2ED2,
0x408C, 0x404B, 0x3B50, 0x3245, 0x1C30, 0x0507, 0xDA87, 0x160B,
0x1FF3, 0x1C49, 0xD01B, 0x185E, 0x18D4, 0xB3EE, 0xEA92, 0xFC57,
0x1899, 0xEB47, 0x70CA, 0xAB2D, 0x0731, 0x3A0E, 0x1C1E, 0xC115,
0xFAB6, 0x9B7E, 0xFEC4, 0x0093, 0xF871, 0x5DF6, 0x109D, 0x3455,
0x3DDE, 0x5699, 0xC095, 0x0502, 0xEB68, 0x062D, 0x3D3D, 0x32D4,
0xE4C9, 0x5618, 0x075C, 0x2C5A, 0x2DC8, 0xAA14, 0x0806, 0xFF84,
0x3E41, 0xE9E1, 0x7FFF, 0xD8C3, 0x1139, 0x0226, 0x2BE4, 0xAE3C,
0xE969, 0xC368, 0xD19E, 0x37A3, 0xFE01, 0x3CAA, 0x433B, 0x0940,
0x3D05, 0xE340, 0x38CA, 0x12A4, 0xE4C4, 0x3124, 0x238F, 0x2967,
0x76A6, 0x0BB2, 0x0155, 0x4B90, 0x1E8A, 0x36EB, 0xDC53, 0x2422,
0xDA87, 0x4FD8, 0x0D6D, 0x0E2D, 0xD417, 0xC020, 0xAEBD, 0x744B,
0x2657, 0x3CFC, 0xA41C, 0x42C7, 0x0DB6, 0x38DF, 0x1FBC, 0x1A15,
0xCFEB, 0xDD15, 0xF03B, 0x089A, 0x3514, 0xCA92, 0x0EFB, 0x1C0A,
0x3965, 0x37A8, 0xE10D, 0x2D66, 0x0DE0, 0xEA95, 0xF9DB, 0x2E46,
0xF207, 0x9580, 0x130B, 0x443C, 0x174D, 0xE243, 0xD813, 0xBC2B,
0xC720, 0xF6BE, 0xF24D, 0x6C0C, 0x09C0, 0x43E9, 0x048B, 0x4A9B,
0xC603, 0xFC82, 0xACC1, 0xC67F, 0xD03E, 0x5AB3, 0xD254, 0xBFC5,
0x2E54, 0xDC69, 0xF93D, 0x22BA, 0x60B4, 0x08EA, 0x2B0E, 0x0116,
0x31DA, 0x0E37, 0xC892, 0xD294, 0xE25F, 0xE521, 0xD247, 0xE1FE,
0x05D0, 0xF9CD, 0xBCAA, 0xF90F, 0xF8AF, 0xD77F, 0xE2B9, 0xD274,
0x5BD0, 0x49F2, 0x6343, 0x06DB, 0x06F4, 0xDCA6, 0x2554, 0xC4D5,
0xEED6, 0x70F7, 0xFF47, 0x4DCC, 0x5C7A, 0x29E7, 0xDF56, 0xAF9D
};
static const q15_t ref_negate_possat[17] = {
@ -281,38 +319,38 @@ static const q15_t ref_negate_possat[17] = {
};
static const q15_t ref_offset[256] = {
0x5577, 0x1312, 0x4DEC, 0x3DD4, 0x5DB9, 0x1D7C, 0x364B, 0x44D2,
0x6F93, 0x1D5A, 0x2DDD, 0x3A2C, 0x4D5F, 0x7FFF, 0x397A, 0x3E2C,
0x43E7, 0x6F3F, 0x58E1, 0x5EB5, 0x37E3, 0x33A9, 0x7FFF, 0x4358,
0x4B8E, 0x1EDC, 0x0FC7, 0x41B0, 0x6B2D, 0x5FEA, 0xD3BC, 0xFB3F,
0x3F0F, 0x0A86, 0x6006, 0x7FFF, 0x1902, 0x714C, 0x16CF, 0x45BA,
0x5949, 0x26B6, 0x6F78, 0x2C79, 0xE80F, 0x1FA9, 0x7FFF, 0x1784,
0x5130, 0x3CF6, 0x4B8D, 0xED6B, 0x302F, 0x317D, 0x7925, 0x2C40,
0x64D9, 0x7FFF, 0xFFE4, 0x3C85, 0x765B, 0x7C38, 0x3FC8, 0x6A3C,
0x5FD0, 0x4135, 0x2C59, 0x7FFF, 0x1BF4, 0x6831, 0x1420, 0x4E33,
0x10AC, 0x56CF, 0x7FFF, 0x2FE1, 0x57A1, 0x7FFF, 0x53DF, 0x71B2,
0x354E, 0x2278, 0x587F, 0x0DE2, 0xFBDD, 0x3830, 0x7FFF, 0x7FFF,
0x35C8, 0x1C90, 0x699F, 0x08E2, 0x5166, 0x4990, 0x4431, 0x64E0,
0x2165, 0xDB13, 0xD921, 0x1DED, 0x62BD, 0x536D, 0x7FFF, 0x19E2,
0x6AFA, 0x7917, 0xF989, 0x1490, 0x4F3E, 0x0884, 0x7FFF, 0x5BAF,
0xF490, 0x4046, 0x25A3, 0x4DDC, 0x42A1, 0x4D6B, 0x38CA, 0x4530,
0xDF26, 0x52E1, 0x14C7, 0x74D4, 0x7B51, 0x1C4A, 0xE2FE, 0x4746,
0xF21E, 0x33F6, 0x7FFF, 0x77E1, 0x35F5, 0x5FB1, 0xFDED, 0x5E50,
0x7FE4, 0x227D, 0x7FFF, 0x50F4, 0x7809, 0x6998, 0xFBE3, 0x2B12,
0x3D40, 0xEBC5, 0x736B, 0x6327, 0x26FA, 0x5DE4, 0x743D, 0xEE1B,
0x07CF, 0x36E1, 0x7E32, 0x567E, 0x791A, 0xCD3D, 0x1A6C, 0x4B48,
0x2B83, 0x1782, 0x03F8, 0x2F96, 0x51DB, 0x2EE6, 0x29EC, 0x382C,
0x75E3, 0xF844, 0x29C2, 0x7CCF, 0x41D2, 0x624E, 0x1982, 0x0BA3,
0x3554, 0x12B0, 0x413D, 0x7FFF, 0x6036, 0xFB5F, 0x5F2B, 0xC000,
0x08FD, 0x4B4F, 0x4007, 0x667F, 0x209E, 0x551B, 0x5BD6, 0x2B44,
0x4082, 0x0D6E, 0x4BCA, 0x7FFF, 0x20B5, 0x6457, 0x38EA, 0x0086,
0xEE06, 0x682B, 0x4FA5, 0x19BB, 0x2484, 0x719D, 0x7FFF, 0x6B75,
0x3D81, 0x12B0, 0x1643, 0x431A, 0xDE6F, 0x4CF5, 0x1A55, 0x597B,
0x2DAF, 0x4208, 0x2579, 0x2695, 0x7D2C, 0x7FFF, 0x5F82, 0x4C99,
0x4AE6, 0x5E51, 0x40B6, 0x0284, 0x53D3, 0x70C9, 0x0C46, 0x46A9,
0x7FFF, 0x3A26, 0x7FFF, 0xED17, 0x41E7, 0x5D4A, 0x7FFF, 0x72EE,
0x2719, 0x7FFF, 0x1850, 0x0C17, 0x7FFF, 0xFDED, 0x51A6, 0x4DF1,
0x1B5F, 0x6EB8, 0x0F94, 0x6337, 0x72FE, 0x13BB, 0x4975, 0x3931
0x4EB1, 0x17DA, 0x1FC2, 0x6DDA, 0xEEB8, 0x5A8C, 0x74D0, 0x0949,
0x59FF, 0x5AFC, 0x167E, 0x6639, 0x5546, 0x332D, 0x6A82, 0xF79E,
0x5317, 0x2AF2, 0x0BD9, 0x0454, 0x7FFF, 0xFB89, 0xDB4F, 0x0E5C,
0x49A1, 0x1FC2, 0x1780, 0x6B2C, 0x4FDB, 0x069C, 0x7FFF, 0xFC82,
0x6794, 0x0287, 0x552B, 0x1A69, 0x6BE1, 0x29BB, 0x15EE, 0x07C4,
0xFCDA, 0x0828, 0x59B1, 0x7FFF, 0x7FFF, 0x40F0, 0x1EF6, 0x6A44,
0x0D0A, 0x2918, 0x34D0, 0x1863, 0x641F, 0x2030, 0x66F3, 0x5ACB,
0x645C, 0x447C, 0xD433, 0x6BF5, 0x6F0F, 0x7FFF, 0x000D, 0xC49C,
0x615D, 0x1E1B, 0x664A, 0x711D, 0x4C88, 0x5028, 0x6D8F, 0x0E0E,
0x5B43, 0x7FFF, 0x6914, 0x2215, 0x4C95, 0x3727, 0x1F21, 0x112E,
0xFF74, 0xFFB5, 0x04B0, 0x0DBB, 0x23D0, 0x3AF9, 0x6579, 0x29F5,
0x200D, 0x23B7, 0x6FE5, 0x27A2, 0x272C, 0x7FFF, 0x556E, 0x43A9,
0x2767, 0x54B9, 0xCF36, 0x7FFF, 0x38CF, 0x05F2, 0x23E2, 0x7EEB,
0x454A, 0x7FFF, 0x413C, 0x3F6D, 0x478F, 0xE20A, 0x2F63, 0x0BAB,
0x0222, 0xE967, 0x7F6B, 0x3AFE, 0x5498, 0x39D3, 0x02C3, 0x0D2C,
0x5B37, 0xE9E8, 0x38A4, 0x13A6, 0x1238, 0x7FFF, 0x37FA, 0x407C,
0x01BF, 0x561F, 0xC000, 0x673D, 0x2EC7, 0x3DDA, 0x141C, 0x7FFF,
0x5697, 0x7C98, 0x6E62, 0x085D, 0x41FF, 0x0356, 0xFCC5, 0x36C0,
0x02FB, 0x5CC0, 0x0736, 0x2D5C, 0x5B3C, 0x0EDC, 0x1C71, 0x1699,
0xC95A, 0x344E, 0x3EAB, 0xF470, 0x2176, 0x0915, 0x63AD, 0x1BDE,
0x6579, 0xF028, 0x3293, 0x31D3, 0x6BE9, 0x7FE0, 0x7FFF, 0xCBB5,
0x19A9, 0x0304, 0x7FFF, 0xFD39, 0x324A, 0x0721, 0x2044, 0x25EB,
0x7015, 0x62EB, 0x4FC5, 0x3766, 0x0AEC, 0x756E, 0x3105, 0x23F6,
0x069B, 0x0858, 0x5EF3, 0x129A, 0x3220, 0x556B, 0x4625, 0x11BA,
0x4DF9, 0x7FFF, 0x2CF5, 0xFBC4, 0x28B3, 0x5DBD, 0x67ED, 0x7FFF,
0x78E0, 0x4942, 0x4DB3, 0xD3F4, 0x3640, 0xFC17, 0x3B75, 0xF565,
0x79FD, 0x437E, 0x7FFF, 0x7981, 0x6FC2, 0xE54D, 0x6DAC, 0x7FFF,
0x11AC, 0x6397, 0x46C3, 0x1D46, 0xDF4C, 0x3716, 0x14F2, 0x3EEA,
0x0E26, 0x31C9, 0x776E, 0x6D6C, 0x5DA1, 0x5ADF, 0x6DB9, 0x5E02,
0x3A30, 0x4633, 0x7FFF, 0x46F1, 0x4751, 0x6881, 0x5D47, 0x6D8C,
0xE430, 0xF60E, 0xDCBD, 0x3925, 0x390C, 0x635A, 0x1AAC, 0x7B2B,
0x512A, 0xCF09, 0x40B9, 0xF234, 0xE386, 0x1619, 0x60AA, 0x7FFF
};
static const q15_t ref_offset_possat[17] = {
@ -328,38 +366,38 @@ static const q15_t ref_offset_negsat[17] = {
};
static const q15_t ref_scale[256] = {
0x0ABB, 0xE989, 0x06F6, 0xFEEA, 0x0EDD, 0xEEBE, 0xFB25, 0x0269,
0x17C9, 0xEEAD, 0xF6EF, 0xFD16, 0x06B0, 0x2104, 0xFCBD, 0xFF16,
0x01F4, 0x17A0, 0x0C70, 0x0F5A, 0xFBF1, 0xF9D5, 0x2801, 0x01AC,
0x05C7, 0xEF6E, 0xE7E4, 0x00D8, 0x1597, 0x0FF5, 0xC9DE, 0xDDA0,
0xFF88, 0xE543, 0x1003, 0x39DC, 0xEC81, 0x18A6, 0xEB68, 0x02DD,
0x0CA4, 0xF35B, 0x17BC, 0xF63C, 0xD408, 0xEFD4, 0x23BD, 0xEBC2,
0x0898, 0xFE7B, 0x05C6, 0xD6B6, 0xF817, 0xF8BE, 0x1C92, 0xF620,
0x126D, 0x3056, 0xDFF2, 0xFE43, 0x1B2E, 0x1E1C, 0xFFE4, 0x151E,
0x0FE8, 0x009B, 0xF62C, 0x292E, 0xEDFA, 0x1419, 0xEA10, 0x0719,
0xE856, 0x0B68, 0x218A, 0xF7F1, 0x0BD0, 0x3E41, 0x09F0, 0x18D9,
0xFAA7, 0xF13C, 0x0C40, 0xE6F1, 0xDDEE, 0xFC18, 0x2CCF, 0x2376,
0xFAE4, 0xEE48, 0x14D0, 0xE471, 0x08B3, 0x04C8, 0x0219, 0x1270,
0xF0B3, 0xCD8A, 0xCC91, 0xEEF6, 0x115F, 0x09B6, 0x2515, 0xECF1,
0x157D, 0x1C8C, 0xDCC4, 0xEA48, 0x079F, 0xE442, 0x205C, 0x0DD8,
0xDA48, 0x0023, 0xF2D1, 0x06EE, 0x0150, 0x06B5, 0xFC65, 0x0298,
0xCF93, 0x0970, 0xEA64, 0x1A6A, 0x1DA9, 0xEE25, 0xD17F, 0x03A3,
0xD90F, 0xF9FB, 0x309A, 0x1BF0, 0xFAFB, 0x0FD8, 0xDEF6, 0x0F28,
0x1FF2, 0xF13E, 0x3A26, 0x087A, 0x1C05, 0x14CC, 0xDDF1, 0xF589,
0xFEA0, 0xD5E3, 0x19B6, 0x1193, 0xF37D, 0x0EF2, 0x1A1F, 0xD70D,
0xE3E7, 0xFB71, 0x1F19, 0x0B3F, 0x1C8D, 0xC69F, 0xED36, 0x05A4,
0xF5C2, 0xEBC1, 0xE1FC, 0xF7CB, 0x08EE, 0xF773, 0xF4F6, 0xFC16,
0x1AF2, 0xDC22, 0xF4E1, 0x1E67, 0x00E9, 0x1127, 0xECC1, 0xE5D2,
0xFAAA, 0xE958, 0x009E, 0x3450, 0x101B, 0xDDAF, 0x0F96, 0xC000,
0xE47E, 0x05A7, 0x0004, 0x133F, 0xF04F, 0x0A8E, 0x0DEB, 0xF5A2,
0x0041, 0xE6B7, 0x05E5, 0x23FA, 0xF05A, 0x122B, 0xFC75, 0xE043,
0xD703, 0x1415, 0x07D3, 0xECDD, 0xF242, 0x18CE, 0x2B3C, 0x15BA,
0xFEC0, 0xE958, 0xEB22, 0x018D, 0xCF37, 0x067A, 0xED2A, 0x0CBE,
0xF6D7, 0x0104, 0xF2BC, 0xF34A, 0x1E96, 0x25EF, 0x0FC1, 0x064C,
0x0573, 0x0F28, 0x005B, 0xE142, 0x09EA, 0x1865, 0xE623, 0x0355,
0x3D19, 0xFD13, 0x23AA, 0xD68B, 0x00F3, 0x0EA5, 0x21FD, 0x1977,
0xF38C, 0x2141, 0xEC28, 0xE60B, 0x2F40, 0xDEF6, 0x08D3, 0x06F9,
0xEDAF, 0x175C, 0xE7CA, 0x119B, 0x197F, 0xE9DE, 0x04BB, 0xFC98
0x0758, 0xEBED, 0xEFE1, 0x16ED, 0xD75C, 0x0D46, 0x1A68, 0xE4A4,
0x0D00, 0x0D7E, 0xEB3F, 0x131D, 0x0AA3, 0xF996, 0x1541, 0xDBCF,
0x098B, 0xF579, 0xE5ED, 0xE22A, 0x217E, 0xDDC5, 0xCDA7, 0xE72E,
0x04D0, 0xEFE1, 0xEBC0, 0x1596, 0x07ED, 0xE34E, 0x2ECE, 0xDE41,
0x13CA, 0xE144, 0x0A95, 0xED34, 0x15F1, 0xF4DD, 0xEAF7, 0xE3E2,
0xDE6D, 0xE414, 0x0CD9, 0x2FA0, 0x28A3, 0x0078, 0xEF7B, 0x1522,
0xE685, 0xF48C, 0xFA68, 0xEC32, 0x120F, 0xF018, 0x1379, 0x0D65,
0x122E, 0x023E, 0xCA1A, 0x15FA, 0x1788, 0x2073, 0xE007, 0xC24E,
0x10AF, 0xEF0D, 0x1325, 0x188F, 0x0644, 0x0814, 0x16C8, 0xE707,
0x0DA1, 0x2A94, 0x148A, 0xF10A, 0x064B, 0xFB93, 0xEF90, 0xE897,
0xDFBA, 0xDFDA, 0xE258, 0xE6DD, 0xF1E8, 0xFD7D, 0x12BC, 0xF4FB,
0xF007, 0xF1DC, 0x17F2, 0xF3D1, 0xF396, 0x2609, 0x0AB7, 0x01D4,
0xF3B4, 0x0A5C, 0xC79B, 0x2A6A, 0xFC67, 0xE2F9, 0xF1F1, 0x1F75,
0x02A5, 0x3241, 0x009E, 0xFFB6, 0x03C8, 0xD105, 0xF7B1, 0xE5D5,
0xE111, 0xD4B3, 0x1FB5, 0xFD7F, 0x0A4C, 0xFCEA, 0xE161, 0xE696,
0x0D9C, 0xD4F4, 0xFC52, 0xE9D3, 0xE91C, 0x2AF6, 0xFBFD, 0x003E,
0xE0DF, 0x0B10, 0xC000, 0x139F, 0xF763, 0xFEED, 0xEA0E, 0x28E2,
0x0B4B, 0x1E4C, 0x1731, 0xE42E, 0x0100, 0xE1AB, 0xDE62, 0xFB60,
0xE17E, 0x0E60, 0xE39B, 0xF6AE, 0x0D9E, 0xE76E, 0xEE38, 0xEB4C,
0xC4AD, 0xFA27, 0xFF56, 0xDA38, 0xF0BB, 0xE48B, 0x11D7, 0xEDEF,
0x12BD, 0xD814, 0xF949, 0xF8E9, 0x15F4, 0x1FF0, 0x28A2, 0xC5DA,
0xECD5, 0xE182, 0x2DF2, 0xDE9D, 0xF925, 0xE390, 0xF022, 0xF2F6,
0x180B, 0x1175, 0x07E2, 0xFBB3, 0xE576, 0x1AB7, 0xF883, 0xF1FB,
0xE34E, 0xE42C, 0x0F7A, 0xE94D, 0xF910, 0x0AB6, 0x0313, 0xE8DD,
0x06FD, 0x3540, 0xF67B, 0xDDE2, 0xF459, 0x0EDE, 0x13F7, 0x21EB,
0x1C70, 0x04A1, 0x06DA, 0xC9FA, 0xFB20, 0xDE0C, 0xFDBA, 0xDAB2,
0x1CFF, 0x01BF, 0x299F, 0x1CC0, 0x17E1, 0xD2A7, 0x16D6, 0x201D,
0xE8D6, 0x11CC, 0x0361, 0xEEA3, 0xCFA6, 0xFB8B, 0xEA79, 0xFF75,
0xE713, 0xF8E4, 0x1BB7, 0x16B6, 0x0ED1, 0x0D6F, 0x16DC, 0x0F01,
0xFD18, 0x0319, 0x21AB, 0x0378, 0x03A8, 0x1441, 0x0EA4, 0x16C6,
0xD218, 0xDB07, 0xCE5E, 0xFC93, 0xFC86, 0x11AD, 0xED56, 0x1D96,
0x0895, 0xC784, 0x005C, 0xD91A, 0xD1C3, 0xEB0D, 0x1055, 0x2832
};
static const q15_t ref_scale_possat[17] = {
@ -369,56 +407,60 @@ static const q15_t ref_scale_possat[17] = {
};
static const q63_t ref_dot_prod_3[1] = {
0x000000000C767AAE
0x0000000008B96063
};
static const q63_t ref_dot_prod_4[1] = {
0x0000000004A622F0
0x00000000189A5933
};
static const q63_t ref_dot_prod_4n1[1] = {
0x0000000018E0A5E8
0x00000000234F66AE
};
static const q63_t ref_dot_prod_long[1] = {
0x000000001C245239
};
static const q15_t ref_abs[256] = {
0x1577, 0x2CEE, 0x0DEC, 0x022C, 0x1DB9, 0x2284, 0x09B5, 0x04D2,
0x2F93, 0x22A6, 0x1223, 0x05D4, 0x0D5F, 0x4208, 0x0686, 0x01D4,
0x03E7, 0x2F3F, 0x18E1, 0x1EB5, 0x081D, 0x0C57, 0x5002, 0x0358,
0x0B8E, 0x2124, 0x3039, 0x01B0, 0x2B2D, 0x1FEA, 0x6C44, 0x44C1,
0x00F1, 0x357A, 0x2006, 0x73B8, 0x26FE, 0x314C, 0x2931, 0x05BA,
0x1949, 0x194A, 0x2F78, 0x1387, 0x57F1, 0x2057, 0x477A, 0x287C,
0x1130, 0x030A, 0x0B8D, 0x5295, 0x0FD1, 0x0E83, 0x3925, 0x13C0,
0x24D9, 0x60AB, 0x401C, 0x037B, 0x365B, 0x3C38, 0x0038, 0x2A3C,
0x1FD0, 0x0135, 0x13A7, 0x525C, 0x240C, 0x2831, 0x2BE0, 0x0E33,
0x2F54, 0x16CF, 0x4315, 0x101F, 0x17A1, 0x7C83, 0x13DF, 0x31B2,
0x0AB2, 0x1D88, 0x187F, 0x321E, 0x4423, 0x07D0, 0x599F, 0x46EC,
0x0A38, 0x2370, 0x299F, 0x371E, 0x1166, 0x0990, 0x0431, 0x24E0,
0x1E9B, 0x64ED, 0x66DF, 0x2213, 0x22BD, 0x136D, 0x4A2B, 0x261E,
0x2AFA, 0x3917, 0x4677, 0x2B70, 0x0F3E, 0x377C, 0x40B8, 0x1BAF,
0x4B70, 0x0046, 0x1A5D, 0x0DDC, 0x02A1, 0x0D6B, 0x0736, 0x0530,
0x60DA, 0x12E1, 0x2B39, 0x34D4, 0x3B51, 0x23B6, 0x5D02, 0x0746,
0x4DE2, 0x0C0A, 0x6134, 0x37E1, 0x0A0B, 0x1FB1, 0x4213, 0x1E50,
0x3FE4, 0x1D83, 0x744C, 0x10F4, 0x3809, 0x2998, 0x441D, 0x14EE,
0x02C0, 0x543B, 0x336B, 0x2327, 0x1906, 0x1DE4, 0x343D, 0x51E5,
0x3831, 0x091F, 0x3E32, 0x167E, 0x391A, 0x72C3, 0x2594, 0x0B48,
0x147D, 0x287E, 0x3C08, 0x106A, 0x11DB, 0x111A, 0x1614, 0x07D4,
0x35E3, 0x47BC, 0x163E, 0x3CCF, 0x01D2, 0x224E, 0x267E, 0x345D,
0x0AAC, 0x2D50, 0x013D, 0x68A0, 0x2036, 0x44A1, 0x1F2B, 0x7FFF,
0x3703, 0x0B4F, 0x0007, 0x267F, 0x1F62, 0x151B, 0x1BD6, 0x14BC,
0x0082, 0x3292, 0x0BCA, 0x47F4, 0x1F4B, 0x2457, 0x0716, 0x3F7A,
0x51FA, 0x282B, 0x0FA5, 0x2645, 0x1B7C, 0x319D, 0x5677, 0x2B75,
0x027F, 0x2D50, 0x29BD, 0x031A, 0x6191, 0x0CF5, 0x25AB, 0x197B,
0x1251, 0x0208, 0x1A87, 0x196B, 0x3D2C, 0x4BDE, 0x1F82, 0x0C99,
0x0AE6, 0x1E51, 0x00B6, 0x3D7C, 0x13D3, 0x30C9, 0x33BA, 0x06A9,
0x7A33, 0x05DA, 0x4754, 0x52E9, 0x01E7, 0x1D4A, 0x43FA, 0x32EE,
0x18E7, 0x4282, 0x27B0, 0x33E9, 0x5E80, 0x4213, 0x11A6, 0x0DF1,
0x24A1, 0x2EB8, 0x306C, 0x2337, 0x32FE, 0x2C45, 0x0975, 0x06CF
0x0EB1, 0x2826, 0x203E, 0x2DDA, 0x5148, 0x1A8C, 0x34D0, 0x36B7,
0x19FF, 0x1AFC, 0x2982, 0x2639, 0x1546, 0x0CD3, 0x2A82, 0x4862,
0x1317, 0x150E, 0x3427, 0x3BAC, 0x42FD, 0x4477, 0x64B1, 0x31A4,
0x09A1, 0x203E, 0x2880, 0x2B2C, 0x0FDB, 0x3964, 0x5D9B, 0x437E,
0x2794, 0x3D79, 0x152B, 0x2597, 0x2BE1, 0x1645, 0x2A12, 0x383C,
0x4326, 0x37D8, 0x19B1, 0x5F41, 0x5146, 0x00F0, 0x210A, 0x2A44,
0x32F6, 0x16E8, 0x0B30, 0x279D, 0x241F, 0x1FD0, 0x26F3, 0x1ACB,
0x245C, 0x047C, 0x6BCD, 0x2BF5, 0x2F0F, 0x40E5, 0x3FF3, 0x7B64,
0x215D, 0x21E5, 0x264A, 0x311D, 0x0C88, 0x1028, 0x2D8F, 0x31F2,
0x1B43, 0x5529, 0x2914, 0x1DEB, 0x0C95, 0x08D9, 0x20DF, 0x2ED2,
0x408C, 0x404B, 0x3B50, 0x3245, 0x1C30, 0x0507, 0x2579, 0x160B,
0x1FF3, 0x1C49, 0x2FE5, 0x185E, 0x18D4, 0x4C12, 0x156E, 0x03A9,
0x1899, 0x14B9, 0x70CA, 0x54D3, 0x0731, 0x3A0E, 0x1C1E, 0x3EEB,
0x054A, 0x6482, 0x013C, 0x0093, 0x078F, 0x5DF6, 0x109D, 0x3455,
0x3DDE, 0x5699, 0x3F6B, 0x0502, 0x1498, 0x062D, 0x3D3D, 0x32D4,
0x1B37, 0x5618, 0x075C, 0x2C5A, 0x2DC8, 0x55EC, 0x0806, 0x007C,
0x3E41, 0x161F, 0x7FFF, 0x273D, 0x1139, 0x0226, 0x2BE4, 0x51C4,
0x1697, 0x3C98, 0x2E62, 0x37A3, 0x01FF, 0x3CAA, 0x433B, 0x0940,
0x3D05, 0x1CC0, 0x38CA, 0x12A4, 0x1B3C, 0x3124, 0x238F, 0x2967,
0x76A6, 0x0BB2, 0x0155, 0x4B90, 0x1E8A, 0x36EB, 0x23AD, 0x2422,
0x2579, 0x4FD8, 0x0D6D, 0x0E2D, 0x2BE9, 0x3FE0, 0x5143, 0x744B,
0x2657, 0x3CFC, 0x5BE4, 0x42C7, 0x0DB6, 0x38DF, 0x1FBC, 0x1A15,
0x3015, 0x22EB, 0x0FC5, 0x089A, 0x3514, 0x356E, 0x0EFB, 0x1C0A,
0x3965, 0x37A8, 0x1EF3, 0x2D66, 0x0DE0, 0x156B, 0x0625, 0x2E46,
0x0DF9, 0x6A80, 0x130B, 0x443C, 0x174D, 0x1DBD, 0x27ED, 0x43D5,
0x38E0, 0x0942, 0x0DB3, 0x6C0C, 0x09C0, 0x43E9, 0x048B, 0x4A9B,
0x39FD, 0x037E, 0x533F, 0x3981, 0x2FC2, 0x5AB3, 0x2DAC, 0x403B,
0x2E54, 0x2397, 0x06C3, 0x22BA, 0x60B4, 0x08EA, 0x2B0E, 0x0116,
0x31DA, 0x0E37, 0x376E, 0x2D6C, 0x1DA1, 0x1ADF, 0x2DB9, 0x1E02,
0x05D0, 0x0633, 0x4356, 0x06F1, 0x0751, 0x2881, 0x1D47, 0x2D8C,
0x5BD0, 0x49F2, 0x6343, 0x06DB, 0x06F4, 0x235A, 0x2554, 0x3B2B,
0x112A, 0x70F7, 0x00B9, 0x4DCC, 0x5C7A, 0x29E7, 0x20AA, 0x5063
};
static const q15_t ref_shift[17] = {
0xEA43, 0xEB5F, 0x329A, 0x0BF8, 0x06C5, 0x31A9, 0x0B9A, 0x11FB,
0xC4E0, 0x0D07, 0xF6A1, 0xF6A1, 0xAAAB, 0xF8AB, 0xE95E, 0x4406,
0x435B
0x4E37, 0xB463, 0x268F, 0xE5F5, 0x5555, 0x0235, 0x097C, 0xDB43,
0xF056, 0xEBD9, 0x4034, 0xCADC, 0xD16D, 0x1367, 0x3113, 0x2BC3,
0x01E6
};
static const q15_t ref_shift_possat[17] = {
@ -434,26 +476,137 @@ static const q15_t ref_shift_negsat[17] = {
};
static const uint16_t ref_and[23] = {
0x628A, 0x903A, 0x4220, 0x5A01, 0x4000, 0x0308, 0x0010, 0x2AA2,
0x0148, 0x1510, 0x0108, 0x0182, 0x2A32, 0x0213, 0x2732, 0x8A50,
0x3408, 0xACD0, 0x0910, 0x04E0, 0x40D0, 0x2014, 0x2410
0xA959, 0x1218, 0x481C, 0x9004, 0x80C8, 0x80A0, 0x820C, 0x2210,
0x40C4, 0x0010, 0x7C12, 0x0844, 0x0288, 0x0420, 0x2001, 0x4012,
0x0A85, 0xB854, 0x0423, 0xE841, 0x0A40, 0xA9A0, 0x7CE6
};
static const uint16_t ref_or[23] = {
0xFFBF, 0xDC7F, 0xD33C, 0xDFB7, 0xDE5F, 0xB3AC, 0x2BFE, 0xEAF3,
0x4D6B, 0xF57F, 0x77FE, 0xDDFF, 0x7BFB, 0xD7BF, 0xFFF6, 0xDAFF,
0x3FEF, 0xEDFF, 0xBB3D, 0xE7F3, 0xDAFF, 0xF754, 0x7DFD
0xFBFF, 0xFEFF, 0xFD7F, 0xF0CE, 0x9ECF, 0xE3BB, 0xCFFF, 0xEFF0,
0xEFC6, 0xFBB6, 0x7F7E, 0x7CFF, 0xBFCE, 0xBFAD, 0xF665, 0xD7FB,
0xFBF7, 0xF8DF, 0x7FA3, 0xFDDD, 0xCBC6, 0xB9A3, 0x7FFF
};
static const uint16_t ref_not[23] = {
0x1845, 0x67C5, 0xADCB, 0xA07E, 0xBDB2, 0x4C73, 0xDEEB, 0xD51D,
0xFA97, 0x2A88, 0xDA87, 0x7258, 0x8585, 0xF8EC, 0x988D, 0x352E,
0xC0F2, 0x130F, 0x54CE, 0x7B1E, 0x3709, 0x8BAB, 0x9A86
0x0682, 0x8167, 0x17C1, 0x6FF9, 0x7130, 0x7D4D, 0x78C3, 0x192F,
0xBD39, 0x5EEF, 0x82E1, 0xF323, 0x4933, 0x4A5A, 0x4DBA, 0x3E65,
0x846A, 0x47A8, 0xC1DC, 0x133E, 0x753B, 0x565F, 0x8300
};
static const uint16_t ref_xor[23] = {
0x9D35, 0x4C45, 0x911C, 0x85B6, 0x9E5F, 0xB0A4, 0x2BEE, 0xC051,
0x4C23, 0xE06F, 0x76F6, 0xDC7D, 0x51C9, 0xD5AC, 0xD8C4, 0x50AF,
0x0BE7, 0x412F, 0xB22D, 0xE313, 0x9A2F, 0xD740, 0x59ED
0x52A6, 0xECE7, 0xB563, 0x60CA, 0x1E07, 0x631B, 0x4DF3, 0xCDE0,
0xAF02, 0xFBA6, 0x036C, 0x74BB, 0xBD46, 0xBB8D, 0xD664, 0x97E9,
0xF172, 0x408B, 0x7B80, 0x159C, 0xC186, 0x1003, 0x0319
};
static const q15_t ref_clip1[263] = {
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC02F, 0xC103,
0xC1D7, 0xC2AC, 0xC380, 0xC454, 0xC528, 0xC5FC, 0xC6D0, 0xC7A5,
0xC879, 0xC94D, 0xCA21, 0xCAF5, 0xCBC9, 0xCC9E, 0xCD72, 0xCE46,
0xCF1A, 0xCFEE, 0xD0C2, 0xD197, 0xD26B, 0xD33F, 0xD413, 0xD4E7,
0xD5BB, 0xD690, 0xD764, 0xD838, 0xD90C, 0xD9E0, 0xDAB4, 0xDB89,
0xDC5D, 0xDD31, 0xDE05, 0xDED9, 0xDFAD, 0xE082, 0xE156, 0xE22A,
0xE2FE, 0xE3D2, 0xE4A6, 0xE57B, 0xE64F, 0xE723, 0xE7F7, 0xE8CB,
0xE99F, 0xEA74, 0xEB48, 0xEC1C, 0xECF0, 0xEDC4, 0xEE98, 0xEF6D,
0xF041, 0xF115, 0xF1E9, 0xF2BD, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333,
0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333, 0xF333
};
static const q15_t ref_clip2[272] = {
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000,
0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC000, 0xC02F, 0xC103,
0xC1D7, 0xC2AC, 0xC380, 0xC454, 0xC528, 0xC5FC, 0xC6D0, 0xC7A5,
0xC879, 0xC94D, 0xCA21, 0xCAF5, 0xCBC9, 0xCC9E, 0xCD72, 0xCE46,
0xCF1A, 0xCFEE, 0xD0C2, 0xD197, 0xD26B, 0xD33F, 0xD413, 0xD4E7,
0xD5BB, 0xD690, 0xD764, 0xD838, 0xD90C, 0xD9E0, 0xDAB4, 0xDB89,
0xDC5D, 0xDD31, 0xDE05, 0xDED9, 0xDFAD, 0xE082, 0xE156, 0xE22A,
0xE2FE, 0xE3D2, 0xE4A6, 0xE57B, 0xE64F, 0xE723, 0xE7F7, 0xE8CB,
0xE99F, 0xEA74, 0xEB48, 0xEC1C, 0xECF0, 0xEDC4, 0xEE98, 0xEF6D,
0xF041, 0xF115, 0xF1E9, 0xF2BD, 0xF391, 0xF466, 0xF53A, 0xF60E,
0xF6E2, 0xF7B6, 0xF88A, 0xF95F, 0xFA33, 0xFB07, 0xFBDB, 0xFCAF,
0xFD83, 0xFE58, 0xFF2C, 0x0000, 0x00D4, 0x01A8, 0x027D, 0x0351,
0x0425, 0x04F9, 0x05CD, 0x06A1, 0x0776, 0x084A, 0x091E, 0x09F2,
0x0AC6, 0x0B9A, 0x0C6F, 0x0D43, 0x0E17, 0x0EEB, 0x0FBF, 0x1093,
0x1168, 0x123C, 0x1310, 0x13E4, 0x14B8, 0x158C, 0x1661, 0x1735,
0x1809, 0x18DD, 0x19B1, 0x1A85, 0x1B5A, 0x1C2E, 0x1D02, 0x1DD6,
0x1EAA, 0x1F7E, 0x2053, 0x2127, 0x21FB, 0x22CF, 0x23A3, 0x2477,
0x254C, 0x2620, 0x26F4, 0x27C8, 0x289C, 0x2970, 0x2A45, 0x2B19,
0x2BED, 0x2CC1, 0x2D95, 0x2E69, 0x2F3E, 0x3012, 0x30E6, 0x31BA,
0x328E, 0x3362, 0x3437, 0x350B, 0x35DF, 0x36B3, 0x3787, 0x385B,
0x3930, 0x3A04, 0x3AD8, 0x3BAC, 0x3C80, 0x3D54, 0x3E29, 0x3EFD,
0x3FD1, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000
};
static const q15_t ref_clip3[279] = {
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD, 0x0CCD,
0x0CCD, 0x0CCD, 0x0CCD, 0x0D43, 0x0E17, 0x0EEB, 0x0FBF, 0x1093,
0x1168, 0x123C, 0x1310, 0x13E4, 0x14B8, 0x158C, 0x1661, 0x1735,
0x1809, 0x18DD, 0x19B1, 0x1A85, 0x1B5A, 0x1C2E, 0x1D02, 0x1DD6,
0x1EAA, 0x1F7E, 0x2053, 0x2127, 0x21FB, 0x22CF, 0x23A3, 0x2477,
0x254C, 0x2620, 0x26F4, 0x27C8, 0x289C, 0x2970, 0x2A45, 0x2B19,
0x2BED, 0x2CC1, 0x2D95, 0x2E69, 0x2F3E, 0x3012, 0x30E6, 0x31BA,
0x328E, 0x3362, 0x3437, 0x350B, 0x35DF, 0x36B3, 0x3787, 0x385B,
0x3930, 0x3A04, 0x3AD8, 0x3BAC, 0x3C80, 0x3D54, 0x3E29, 0x3EFD,
0x3FD1, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000,
0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000, 0x4000
};