From 58cecdad74cf8082071233dbc42e6541cdb81e01 Mon Sep 17 00:00:00 2001 From: Stephanos Ioannidis Date: Sat, 21 Aug 2021 17:58:58 +0900 Subject: [PATCH] tests: lib: cmsis_dsp: support: Update F32 tests for 1.9.0 This commit updates the support F32 test patterns and implementations for the CMSIS-DSP 1.9.0. Note that the spline interpolation feature has been moved from the 'Support' module to the new 'Interpolation' module. Signed-off-by: Stephanos Ioannidis --- tests/lib/cmsis_dsp/support/src/f32.c | 62 +-- tests/lib/cmsis_dsp/support/src/f32.pat | 604 ++++++++++-------------- 2 files changed, 260 insertions(+), 406 deletions(-) diff --git a/tests/lib/cmsis_dsp/support/src/f32.c b/tests/lib/cmsis_dsp/support/src/f32.c index 4b0daff0027..d3c13ff4e0a 100644 --- a/tests/lib/cmsis_dsp/support/src/f32.c +++ b/tests/lib/cmsis_dsp/support/src/f32.c @@ -1,6 +1,6 @@ /* - * Copyright (c) 2020 Stephanos Ioannidis - * Copyright (C) 2010-2020 ARM Limited or its affiliates. All rights reserved. + * Copyright (c) 2021 Stephanos Ioannidis + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ @@ -401,59 +401,6 @@ static void test_arm_merge_sort_const( DEFINE_TEST_VARIANT4(arm_merge_sort_const, 16, in_sort_const, ref_sort_const, 16, ARM_SORT_ASCENDING); -static void test_arm_spline( - const uint32_t *input_x, const uint32_t *input_y, - const uint32_t *input_xq, const uint32_t *ref, size_t length, - uint32_t n, arm_spline_type type) -{ - float32_t *output; - float32_t *scratch; - float32_t *coeff; - arm_spline_instance_f32 inst; - - /* Allocate output buffer */ - output = malloc(length * sizeof(float32_t)); - zassert_not_null(output, ASSERT_MSG_BUFFER_ALLOC_FAILED); - - /* Allocate scratch buffer */ - scratch = malloc(((n * 2) - 1) * sizeof(float32_t)); - zassert_not_null(scratch, ASSERT_MSG_BUFFER_ALLOC_FAILED); - - /* Allocate coefficient buffer */ - coeff = malloc(((n - 1) * 3) * sizeof(float32_t)); - zassert_not_null(coeff, ASSERT_MSG_BUFFER_ALLOC_FAILED); - - /* Initialise spline */ - arm_spline_init_f32(&inst, type, - (float32_t *)input_x, (float32_t *)input_y, n, coeff, scratch); - - /* Run test function */ - arm_spline_f32(&inst, (float32_t *)input_xq, output, length); - - /* Validate output */ - zassert_true( - test_snr_error_f32(length, output, (float32_t *)ref, - SNR_ERROR_THRESH), - ASSERT_MSG_SNR_LIMIT_EXCEED); - - /* Free output buffer */ - free(output); - free(scratch); - free(coeff); -} - -DEFINE_TEST_VARIANT7(arm_spline, square_20, - in_spline_squ_x, in_spline_squ_y, in_spline_squ_xq, ref_spline_squ, 20, - 4, ARM_SPLINE_PARABOLIC_RUNOUT); - -DEFINE_TEST_VARIANT7(arm_spline, sine_33, - in_spline_sin_x, in_spline_sin_y, in_spline_sin_xq, ref_spline_sin, 33, - 9, ARM_SPLINE_NATURAL); - -DEFINE_TEST_VARIANT7(arm_spline, ramp_30, - in_spline_ram_x, in_spline_ram_y, in_spline_ram_xq, ref_spline_ram, 30, - 3, ARM_SPLINE_PARABOLIC_RUNOUT); - void test_support_f32(void) { ztest_test_suite(support_f32, @@ -495,10 +442,7 @@ void test_support_f32(void) ztest_unit_test(test_arm_sort_in_selection_11), ztest_unit_test(test_arm_sort_const_selection_16), ztest_unit_test(test_arm_merge_sort_out_11), - ztest_unit_test(test_arm_merge_sort_const_16), - ztest_unit_test(test_arm_spline_square_20), - ztest_unit_test(test_arm_spline_sine_33), - ztest_unit_test(test_arm_spline_ramp_30) + ztest_unit_test(test_arm_merge_sort_const_16) ); ztest_run_test_suite(support_f32); diff --git a/tests/lib/cmsis_dsp/support/src/f32.pat b/tests/lib/cmsis_dsp/support/src/f32.pat index a2709143cfe..f4a5076c1db 100644 --- a/tests/lib/cmsis_dsp/support/src/f32.pat +++ b/tests/lib/cmsis_dsp/support/src/f32.pat @@ -1,392 +1,302 @@ static const uint32_t in_f32[256] = { - 0x3e9f783f, 0x3f507929, 0x3f76fc98, 0x3f3fe988, - 0x3f6ba888, 0x3f5c075c, 0x3f6530f7, 0x3eca2872, - 0x3e9ee131, 0x3f6f82e0, 0x3f6f16e5, 0x3de21e06, - 0x3d9e4d30, 0x3e27ea69, 0x3ce11c5c, 0x3f0ca2f9, - 0x3f634454, 0x3ecc306d, 0x3f6ccf0a, 0x3f41230e, - 0x3f418e1f, 0x3f755094, 0x3eee3b13, 0x3e90ac19, - 0x3ee8c7b6, 0x3ef3570d, 0x3f4ecab1, 0x3f4f8cd7, - 0x3f524528, 0x3f3d166f, 0x3ec032b2, 0x3ead983b, - 0x3e3a97d2, 0x3ecfea6a, 0x3d88864d, 0x3f796eb2, - 0x3eda5a2b, 0x3e30c4c2, 0x3e67febd, 0x3f7f446d, - 0x3f013d9f, 0x3e83b49d, 0x3f607999, 0x3f3e9502, - 0x3ecb28b6, 0x3f70831b, 0x3f5b18e3, 0x3dd1d17c, - 0x3f0343bd, 0x3eaa3f78, 0x3f006b49, 0x3ea2d104, - 0x3f7d56c7, 0x3f79297a, 0x3f4238ba, 0x3ed6b039, - 0x3f11b3ab, 0x3cd25eb2, 0x3f7ff4a9, 0x3f15a656, - 0x3f5989f6, 0x3eea474a, 0x3eb11775, 0x3f0f8d26, - 0x3ea62f37, 0x3e250fc9, 0x3eb36bab, 0x3e68c621, - 0x3f3654bd, 0x3f1277ab, 0x3f4af99b, 0x3f66550a, - 0x3f539c0f, 0x3f429962, 0x3bb37dbf, 0x3f71286c, - 0x3f6f5c53, 0x3e52c352, 0x3f36a5e0, 0x3dcb24ab, - 0x3e53943b, 0x3e15da21, 0x3f44c805, 0x3eff2f7a, - 0x3e9a7c30, 0x3f7e2a56, 0x3f006251, 0x3cbdf22c, - 0x3f1251fe, 0x3f2fd244, 0x3e868a17, 0x3f63c22a, - 0x3f0c9eee, 0x3f61a4cc, 0x3e3d1a77, 0x3ea6db4b, - 0x3ee112b5, 0x3f3109ae, 0x3f0255fd, 0x3f73b5f3, - 0x3ef82f09, 0x3efd2ee2, 0x3f418e36, 0x3e8c6bd0, - 0x3f720a35, 0x3da20232, 0x3e63d79e, 0x3f22c9fa, - 0x3de70abe, 0x3e2daedb, 0x3ec322c4, 0x3e08000f, - 0x3f4bb252, 0x3e8f1aee, 0x3ed4eec5, 0x3f17bd5f, - 0x3f06c369, 0x3efa1daf, 0x3e898bc4, 0x3f53e527, - 0x3e0d2ff2, 0x3eb99e19, 0x3ed83ca3, 0x3e3c336f, - 0x3d4a9619, 0x3e87a11c, 0x3ec434cb, 0x3e803d1f, - 0x3e188a3c, 0x3d6bee56, 0x3f576c59, 0x3f193141, - 0x3e531859, 0x3eca4978, 0x3d14144d, 0x3d12f59c, - 0x3f3493f8, 0x3ec0489d, 0x3e645e2c, 0x3f68184c, - 0x3f71dac0, 0x3e5f0153, 0x3f627fe9, 0x3e0046dc, - 0x3f39ceea, 0x3ee2f65e, 0x3f6b37d6, 0x3d97a672, - 0x3f21fbfa, 0x3f1823e9, 0x3f272365, 0x3e515a64, - 0x3f35ad59, 0x3ee732a1, 0x3e08bd5f, 0x3ec7543d, - 0x3e607efa, 0x3eafe3a6, 0x3f76c8b0, 0x3e2c61a8, - 0x3f190bde, 0x3dd67387, 0x3f1aaf85, 0x3f316be6, - 0x3f23cf2a, 0x3dc75e18, 0x3f10c40b, 0x3f2d3c1a, - 0x3f6fc629, 0x3d979cb4, 0x3de5c2c4, 0x3e200f92, - 0x3eeecaf2, 0x3f2a3723, 0x3e18406d, 0x3e386364, - 0x3e324448, 0x3f432273, 0x3f1bdeac, 0x3f472278, - 0x3e9d0342, 0x3f6ffa6d, 0x3dbf1f60, 0x3f175c89, - 0x3f1a536e, 0x3f372330, 0x3f0a7c29, 0x3efa4852, - 0x3e464849, 0x3ebe5056, 0x3ed635da, 0x3ed3873e, - 0x3da00b51, 0x3f0fa663, 0x3daf870b, 0x3d692367, - 0x3e045422, 0x3e1574d1, 0x3f5113f3, 0x3f66ff9f, - 0x3f2c3457, 0x3f5e2bac, 0x3ee398aa, 0x3ef7639c, - 0x3dee8e79, 0x3f656492, 0x3eee1156, 0x3e738622, - 0x3f0b6b70, 0x3e9de7aa, 0x3e87a892, 0x3f3a349c, - 0x3e734d83, 0x3f7fab0a, 0x3ec2b48d, 0x3e6d0449, - 0x3dafed24, 0x3f800000, 0x3f62f171, 0x3ea0c497, - 0x3bdb571a, 0x3e159f9d, 0x3f5651cd, 0x3f0a08f7, - 0x3d57e856, 0x3df5c6c1, 0x3ef05dc6, 0x3f2026d3, - 0x3f70d920, 0x3e9fe911, 0x3f7e21a6, 0x3e5dfeed, - 0x3f572a2a, 0x3f7bd10f, 0x3f240cf6, 0x3f45af22, - 0x3f11dd11, 0x3eca821c, 0x3f252c63, 0x3f009881, - 0x3e8b13e4, 0x3f215f48, 0x3f69a872, 0x3f13227a, - 0x3f73061b, 0x3e17b00c, 0x3f37b64b, 0x3f3c55aa, - 0x3f7fd6ad, 0x3f0d8b61, 0x3e4dfd7b, 0x3e9a2a5e, - 0x3e19753a, 0x3ccb1258, 0x3ea2a695, 0x3f7aa0d8 + 0x3e7b9a11, 0x3f430e64, 0x3f7b61f8, 0x3f3e1a0a, + 0x3f10ac73, 0x3f4e4019, 0x3ecb6c1a, 0x3eb9d756, + 0x3edf6a04, 0x3e48703f, 0x3f0bd6e4, 0x3f338f5b, + 0x3f2ccba0, 0x3f7eed8c, 0x3f40b36d, 0x3f432aa2, + 0x3f3efcd1, 0x3ea25922, 0x3f14060b, 0x3f1de431, + 0x3f317a8d, 0x3ea3f0f8, 0x3f6b2154, 0x3ea3518a, + 0x3f0f769f, 0x3f373d6b, 0x3ea68f81, 0x3f601e8c, + 0x3f78b988, 0x3f52a5df, 0x3f15dd31, 0x3f4988ae, + 0x3e9837b4, 0x3f348f53, 0x3d8c8987, 0x3de61780, + 0x3cfebf74, 0x3f40a628, 0x3f54f32d, 0x3f22172a, + 0x3eb64b7b, 0x3ea6ee22, 0x3f1d5d84, 0x3e044e85, + 0x3ec0d710, 0x3da19337, 0x3e50157d, 0x3f0ddfcc, + 0x3ea2fa79, 0x3f1a6b2c, 0x3f7bf622, 0x3d293569, + 0x3f793192, 0x3f79e1e6, 0x3e133ea4, 0x3ee4d509, + 0x3f60dd33, 0x3e4da42e, 0x3f7f7220, 0x3f06ef6b, + 0x3d44b6c3, 0x3f27a083, 0x3f4a011d, 0x3f5f3bb8, + 0x3f246fea, 0x3f6d9eee, 0x3f3366da, 0x3ec6b168, + 0x3f1baf3f, 0x3f123fde, 0x3f640d40, 0x3f285823, + 0x3f69065c, 0x3f2a688d, 0x3f163881, 0x3f02f4c1, + 0x3d5b0d1c, 0x3f26cf42, 0x3baad7d3, 0x3f310aff, + 0x3f7ae54d, 0x3eaee2eb, 0x3f649a9b, 0x3f7899e8, + 0x3e14a802, 0x3df24408, 0x3e8b7772, 0x3f03ec48, + 0x3f0f1e48, 0x3f2cf012, 0x3e1ad83d, 0x3ebeb070, + 0x3f39cb89, 0x3e0f4811, 0x3f4a5631, 0x3debe2e7, + 0x3f3b9597, 0x3f13db6d, 0x3f2f2b0a, 0x3f27e4f3, + 0x3d04450a, 0x3f014ebb, 0x3f2f04aa, 0x3f77ed6b, + 0x3eab5ae1, 0x3f3e37b0, 0x3f59b5fe, 0x3de5e5a3, + 0x3de3b577, 0x3f201a9b, 0x3f6b9e07, 0x3f691c38, + 0x3f5b9f86, 0x3cdcd883, 0x3f6d8069, 0x3f27085a, + 0x3db6301f, 0x3f56c40d, 0x3ec3d730, 0x3f79473c, + 0x3f7e9340, 0x3f6a7909, 0x3f5bc938, 0x3f19eb93, + 0x3eb3694e, 0x3d73e79b, 0x3f4756ef, 0x3c3dc003, + 0x3f6ab939, 0x3ed84f90, 0x3f065672, 0x3f7616bf, + 0x3f568ecb, 0x3f22a281, 0x3f798544, 0x3e64d2de, + 0x3f0399d9, 0x3ed97b16, 0x3f2a617a, 0x3e89ddcd, + 0x3f5980f2, 0x3f1807f7, 0x3e2f1399, 0x3e29f0da, + 0x3f7b9281, 0x3f18ae83, 0x3ee60acc, 0x3f12640c, + 0x3e82ea80, 0x3e9fd222, 0x3f19ef56, 0x3f4c626d, + 0x3f005ff0, 0x3b8c6612, 0x3f7afd64, 0x3e22c7f8, + 0x3e44d9dc, 0x3da9476f, 0x3e093299, 0x3f73bea9, + 0x3f093dc1, 0x3f6c0ca4, 0x3e071409, 0x3e0c9b5c, + 0x3f666e66, 0x3f7d715b, 0x3eb8482d, 0x3ebcbb5e, + 0x3f75c74f, 0x3e1a0659, 0x3ef79d1d, 0x3ea20474, + 0x3f6f244f, 0x3f65bfe5, 0x3e8e9d43, 0x3dac62f5, + 0x3e73a68b, 0x3eb14bb9, 0x3f71d474, 0x3f73192c, + 0x3df514f1, 0x3f0eb020, 0x3e1802e3, 0x3e40fc53, + 0x3f6dcbf1, 0x3f3fe92d, 0x3f3088fc, 0x3e7908f9, + 0x3e9f0e3f, 0x3f59caaa, 0x3f71fc6b, 0x3e03fcb0, + 0x3e8d795a, 0x3ed6d370, 0x3e3d741b, 0x3f0665c5, + 0x3e03b8dc, 0x3ec36989, 0x3e41f5bc, 0x3f2c13bd, + 0x3f1055c4, 0x3e0ac5c1, 0x3f7ecb1f, 0x3f5f1c86, + 0x3f0c4517, 0x3bc9b4af, 0x3f4698a8, 0x3e60d888, + 0x3f4d360b, 0x3f7a6908, 0x3ea9e568, 0x3f542a35, + 0x3f571e54, 0x3f559ed1, 0x3e477e0f, 0x3dc2ae2c, + 0x3f095f6d, 0x3f6d6176, 0x3e871cd8, 0x3ef343da, + 0x3f162322, 0x3e979c68, 0x3f3b8387, 0x3e6b90ec, + 0x3f330b5d, 0x3f099ae2, 0x3f14ae97, 0x3f78e53d, + 0x3eca02ea, 0x3ec226f4, 0x3ec53384, 0x3f0092e6, + 0x3e0aa741, 0x3e30a639, 0x3ebfcd1f, 0x3f47ec72, + 0x3dd181e3, 0x3f501d2e, 0x3ec170d6, 0x3f350dac, + 0x3e84a472, 0x3f3823eb, 0x3f394286, 0x3d0ea782, + 0x3ec06bda, 0x3f737deb, 0x3f50494f, 0x3ec40d59, + 0x3dcaa663, 0x3f4676c9, 0x3ea46e6a, 0x3f1dc12a, + 0x3efe5066, 0x3f6cc34a, 0x3f228d22, 0x3f800000 }; static const uint32_t in_weighted_sum_val[50] = { - 0x3f61a7da, 0x3f1d0ae1, 0x3e366135, 0x3eaf153c, - 0x3f2bb774, 0x3e60b549, 0x3baac1a7, 0x3f4513c6, - 0x3f556351, 0x3ca4ce0e, 0x3ea6e4ad, 0x3f0f17dc, - 0x3d832ac0, 0x3f78f9a1, 0x3f315e3b, 0x3e38bc16, - 0x3edb4024, 0x3f244369, 0x3f7cd3f8, 0x3e128b57, - 0x3e5bc646, 0x3f7e37cb, 0x3ec84d8f, 0x3eade552, - 0x3f2cceca, 0x3e4876a7, 0x3ef767b0, 0x3f63b358, - 0x3f5252ee, 0x3f35cc90, 0x3ea2e62a, 0x3ee32c8b, - 0x3d783e9f, 0x3c1d4308, 0x3f68c46a, 0x3ea96393, - 0x3def0a69, 0x3e8e79e3, 0x3f3efcae, 0x3e87c523, - 0x3e97151f, 0x3f6e2749, 0x3d6411c3, 0x3ead156c, - 0x3f4cd352, 0x3f53751e, 0x3eafeca7, 0x3f702cf6, - 0x3e9d501f, 0x3f52bfbc + 0x3ef59039, 0x3f4bf0c0, 0x3f281f89, 0x3d203758, + 0x3dd67aaa, 0x3f056b52, 0x3e088a37, 0x3f52369c, + 0x3d3ad5fc, 0x3f2c7b41, 0x3f1cf2ea, 0x3f40c0c5, + 0x3e86e548, 0x3e567964, 0x3e0b6eb2, 0x3e570544, + 0x3e982de8, 0x3f26609f, 0x3f71c824, 0x3d9e7eeb, + 0x3d4f374e, 0x3f361d6d, 0x3f43dc1a, 0x3e848bcc, + 0x3e233709, 0x3ee39772, 0x3e65d216, 0x3e8c78d9, + 0x3e4e7014, 0x3e04412c, 0x3f24dfc4, 0x3e888dc3, + 0x3c77dec8, 0x3f04bd53, 0x3f4982ef, 0x3f785484, + 0x3e5322d4, 0x3e923b13, 0x3f1a7fdd, 0x3f20e801, + 0x3f036403, 0x3e529443, 0x3f43e1f5, 0x3e8679c1, + 0x3f1ff6cd, 0x3efff938, 0x3ef8c3c2, 0x3f3bf153, + 0x3f2d605f, 0x3b88b868 }; static const uint32_t in_weighted_sum_coeff[50] = { - 0x3eefb2a1, 0x3f7092f6, 0x3e57e1b2, 0x3e935a97, - 0x3f69e099, 0x3f35000f, 0x3eef6edd, 0x3eee3453, - 0x3e1d42d8, 0x3f3a8a98, 0x3e1c35d9, 0x3e3007cc, - 0x3e8619c5, 0x3f60f3c6, 0x3f40a355, 0x3eae62ae, - 0x3f08c9b9, 0x3e06dc73, 0x3f4799f5, 0x3ec2f376, - 0x3da81dc4, 0x3cff714f, 0x3f2a5a96, 0x3eb852f7, - 0x3f388d28, 0x3e43d02d, 0x3f51392b, 0x3f1f8e57, - 0x3daec1e6, 0x3eb7c159, 0x3f106c95, 0x3ec76c04, - 0x3ee12b28, 0x3eaced58, 0x3e907504, 0x3f7891e3, - 0x3ef32975, 0x3f4f56da, 0x3e3f3426, 0x3f486c1f, - 0x3f54d481, 0x3f6d556f, 0x3f2aab66, 0x3e67ef18, - 0x3f2529ae, 0x3f643d96, 0x3e60c27a, 0x3f118886, - 0x3f2c768a, 0x3f00cba2 + 0x3f5c365d, 0x3ef5bcf3, 0x3f07c2f1, 0x3ec77fde, + 0x3f486f4c, 0x3f3b14d9, 0x3edf92dd, 0x3e040f3f, + 0x3da6d898, 0x3f64fc4b, 0x3ea6942e, 0x3ea8d19f, + 0x3f42aa22, 0x3f7af090, 0x3ea61c74, 0x3f16d69c, + 0x3f22d66d, 0x3f3eb358, 0x3edcc17a, 0x3d5cac41, + 0x3f6752c8, 0x3f30434e, 0x3f67dc39, 0x3f1f5f4d, + 0x3f55019b, 0x3e8e78c4, 0x3f1dc570, 0x3ea3619d, + 0x3e16932c, 0x3debb877, 0x3d04efe4, 0x3dda8cae, + 0x3f175d01, 0x3e613eca, 0x3f792ff1, 0x3f05cb9e, + 0x3efd21eb, 0x3f52d9bb, 0x3f635d8c, 0x3f3d78cc, + 0x3f75ca43, 0x3ed94cbd, 0x3f18cc07, 0x3f71cf57, + 0x3f1999e0, 0x3f3d7b64, 0x3eff331b, 0x3f09a083, + 0x3ec65238, 0x3e5daacc }; static const uint32_t in_sort[11] = { - 0x3e4939fb, 0xbe23ea22, 0x3e1e78b0, 0x3daea625, - 0x3f800000, 0x3e1cb268, 0xbf41dc56, 0x3f77973f, - 0xbe86db59, 0x3f4f0f2d, 0x3f58ebe8 + 0x3e8b2005, 0xbe79828d, 0x3ec60533, 0xbecd84a4, + 0x3edef701, 0xbf020833, 0x3eae45f9, 0xbe23a0cf, + 0x3f5b587c, 0xbe77e106, 0xbf800000 }; static const uint32_t in_sort_bitonic_16[16] = { - 0x3e8bbdf2, 0x3e86b1fc, 0x3e8d5f44, 0xbe0bbcb2, - 0xbd04aa5b, 0x3e6f9b30, 0x3e0614a0, 0x3f15c6df, - 0x3e4dd012, 0x3e7aa548, 0x3f73e0cd, 0xbf0fa47e, - 0xbf4810d2, 0xbf3defb2, 0xbf800000, 0xbd9e48bd + 0xbce9c2a9, 0xbe49aaa6, 0x3ed24897, 0x3ebe06f3, + 0xbde7297e, 0x3f0f81a4, 0x3daa5ff8, 0xbd74b8b1, + 0xbeb7404b, 0xbe0c8154, 0xbf800000, 0xbf1ac9af, + 0xbe7ebe48, 0xbe96e2f3, 0x3ea8d3ec, 0x3dcccc3f }; static const uint32_t in_sort_bitonic_32[32] = { - 0xbf2bcd3a, 0x3e212a25, 0xbe9a8ea5, 0x3de47310, - 0xbe86705a, 0xbcb6a09b, 0xbe9bd7a1, 0xbf800000, - 0xbe0f3050, 0x3d36c06f, 0x3eb8fc69, 0x3eb61331, - 0x3f612126, 0xbd88e263, 0xbf2bbd54, 0x3f3213c5, - 0xbdba2ac5, 0xbf242043, 0xbeae554d, 0x3e9947e0, - 0xbd044441, 0x3ef8b082, 0xbee44d50, 0x3d02f265, - 0xbf15c991, 0x3e4c9ce2, 0x3ea8f61b, 0xbf0e56f3, - 0x3e7b68a0, 0xbea597f8, 0xbcab90e5, 0xbeaa892f + 0x3de7ca48, 0x3e841924, 0xbf0ec9ee, 0xbd9234a0, + 0x3e57751c, 0x3d8ce6cb, 0xbed8c7f0, 0xbd2a8ea8, + 0x3e6e514e, 0xbefd1a2a, 0xbe972d7a, 0xbf800000, + 0x3dd11d1c, 0xbe3c1689, 0xbee8d12a, 0x3dc3dd48, + 0x3ece8f07, 0xbe4e84cb, 0x3e0db75f, 0x3cc96593, + 0xbf012b00, 0xbefeaa91, 0x3e506a2c, 0x3eb5a5a2, + 0xbf1abb67, 0x3e601f55, 0xbdf605d0, 0xbe81fc15, + 0xbf043534, 0x3d446123, 0xbf068a30, 0x3f2a6bfa }; static const uint32_t in_sort_const[16] = { - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 - }; - -static const uint32_t in_spline_squ_x[4] = { - 0x0, 0x40400000, 0x41200000, 0x41a00000 - }; - -static const uint32_t in_spline_squ_y[4] = { - 0x0, 0x41100000, 0x42c80000, 0x43c80000 - }; - -static const uint32_t in_spline_squ_xq[20] = { - 0x0, 0x3f800000, 0x40000000, 0x40400000, - 0x40800000, 0x40a00000, 0x40c00000, 0x40e00000, - 0x41000000, 0x41100000, 0x41200000, 0x41300000, - 0x41400000, 0x41500000, 0x41600000, 0x41700000, - 0x41800000, 0x41880000, 0x41900000, 0x41980000 - }; - -static const uint32_t in_spline_sin_x[9] = { - 0x0, 0x3f490fdb, 0x3fc90fdb, 0x4016cbe4, - 0x40490fdb, 0x407b53d1, 0x4096cbe4, 0x40afeddf, - 0x40c90fdb - }; - -static const uint32_t in_spline_sin_y[9] = { - 0x0, 0x3f3504f3, 0x3f800000, 0x3f3504f3, - 0x250d3132, 0xbf3504f3, 0xbf800000, 0xbf3504f3, - 0xa58d3132 - }; - -static const uint32_t in_spline_sin_xq[33] = { - 0x0, 0x3e490fdb, 0x3ec90fdb, 0x3f16cbe4, - 0x3f490fdb, 0x3f7b53d1, 0x3f96cbe4, 0x3fafeddf, - 0x3fc90fdb, 0x3fe231d6, 0x3ffb53d1, 0x400a3ae6, - 0x4016cbe4, 0x40235ce2, 0x402feddf, 0x403c7edd, - 0x40490fdb, 0x4055a0d8, 0x406231d6, 0x406ec2d4, - 0x407b53d1, 0x4083f267, 0x408a3ae6, 0x40908365, - 0x4096cbe4, 0x409d1463, 0x40a35ce2, 0x40a9a560, - 0x40afeddf, 0x40b6365e, 0x40bc7edd, 0x40c2c75c, - 0x40c90fdb - }; - -static const uint32_t in_spline_ram_x[3] = { - 0x0, 0x40400000, 0x41200000 - }; - -static const uint32_t in_spline_ram_y[3] = { - 0x0, 0x40400000, 0x41200000 - }; - -static const uint32_t in_spline_ram_xq[30] = { - 0xc1200000, 0xc1100000, 0xc1000000, 0xc0e00000, - 0xc0c00000, 0xc0a00000, 0xc0800000, 0xc0400000, - 0xc0000000, 0xbf800000, 0x0, 0x3f800000, - 0x40000000, 0x40400000, 0x40800000, 0x40a00000, - 0x40c00000, 0x40e00000, 0x41000000, 0x41100000, - 0x41200000, 0x41300000, 0x41400000, 0x41500000, - 0x41600000, 0x41700000, 0x41800000, 0x41880000, - 0x41900000, 0x41980000 + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 }; static const q31_t ref_q31[256] = { - 0x27DE0FCE, 0x683C9468, 0x7B7E4BEE, 0x5FF4C3D7, - 0x75D443C4, 0x6E03ADEF, 0x72987B80, 0x328A1C70, - 0x27B84C37, 0x77C16FE0, 0x778B7293, 0x0E21E060, - 0x09E4D304, 0x14FD4D26, 0x03847171, 0x46517C6A, - 0x71A229F3, 0x330C1B36, 0x76678531, 0x609186E3, - 0x60C70F92, 0x7AA849C5, 0x3B8EC4B1, 0x242B0622, - 0x3A31ED65, 0x3CD5C324, 0x67655882, 0x67C66BBF, - 0x692293C2, 0x5E8B3781, 0x300CAC64, 0x2B660ECD, - 0x1752FA47, 0x33FA9A88, 0x088864CB, 0x7CB758DA, - 0x36968AC0, 0x16189843, 0x1CFFD795, 0x7FA23671, - 0x409ECF8E, 0x20ED273B, 0x703CCC99, 0x5F4A80D2, - 0x32CA2D96, 0x78418D94, 0x6D8C7158, 0x0D1D17C2, - 0x41A1DEB3, 0x2A8FDE11, 0x4035A4AA, 0x28B44100, - 0x7EAB63A2, 0x7C94BCCA, 0x611C5D3E, 0x35AC0E23, - 0x48D9D54D, 0x03497AC7, 0x7FFA5468, 0x4AD32B2B, - 0x6CC4FB1C, 0x3A91D262, 0x2C45DD28, 0x47C6931F, - 0x298BCDB5, 0x14A1F920, 0x2CDAEAD1, 0x1D18C413, - 0x5B2A5E88, 0x493BD5A9, 0x657CCD64, 0x732A8533, - 0x69CE0761, 0x614CB0FE, 0x00B37DBF, 0x789435DA, - 0x77AE29BC, 0x1A586A44, 0x5B52F029, 0x0CB24AB3, - 0x1A728768, 0x12BB4430, 0x62640272, 0x3FCBDE7F, - 0x269F0BFA, 0x7F152B19, 0x40312882, 0x02F7C8B2, - 0x4928FF22, 0x57E921DB, 0x21A285D5, 0x71E11513, - 0x464F7737, 0x70D265EC, 0x17A34EE0, 0x29B6D2BE, - 0x3844AD4A, 0x5884D734, 0x412AFE7F, 0x79DAF95D, - 0x3E0BC247, 0x3F4BB891, 0x60C71B14, 0x231AF410, - 0x79051A58, 0x0A202325, 0x1C7AF3CE, 0x5164FD18, - 0x0E70ABDE, 0x15B5DB5F, 0x30C8B0EE, 0x110001E9, - 0x65D928FE, 0x23C6BB91, 0x353BB130, 0x4BDEAF7A, - 0x4361B470, 0x3E876BBB, 0x2262F0FE, 0x69F293A1, - 0x11A5FE48, 0x2E67863B, 0x360F28DE, 0x17866DD7, - 0x0654B0CA, 0x21E84711, 0x310D32A5, 0x200F47C8, - 0x13114774, 0x075F72B4, 0x6BB62C8A, 0x4C98A061, - 0x1A630B30, 0x32925DEC, 0x04A0A267, 0x0497ACDE, - 0x5A49FC16, 0x30122734, 0x1C8BC57C, 0x740C25EA, - 0x78ED6024, 0x1BE02A5B, 0x713FF4A2, 0x1008DB7B, - 0x5CE774D1, 0x38BD977C, 0x759BEB06, 0x097A6722, - 0x50FDFCD8, 0x4C11F4BE, 0x5391B25D, 0x1A2B4C89, - 0x5AD6AC56, 0x39CCA844, 0x1117ABE9, 0x31D50F57, - 0x1C0FDF40, 0x2BF8E961, 0x7B6457C0, 0x158C3507, - 0x4C85EF31, 0x0D67386C, 0x4D57C28C, 0x58B5F334, - 0x51E794E3, 0x0C75E178, 0x486205A5, 0x569E0CC1, - 0x77E31461, 0x0979CB41, 0x0E5C2C42, 0x1401F235, - 0x3BB2BC76, 0x551B9160, 0x13080DA1, 0x170C6C73, - 0x164888F1, 0x61913989, 0x4DEF5637, 0x63913C0D, - 0x2740D07A, 0x77FD3653, 0x0BF1F606, 0x4BAE448F, - 0x4D29B71C, 0x5B9197E8, 0x453E1463, 0x3E92149B, - 0x18C90928, 0x2F94158D, 0x358D7670, 0x34E1CF75, - 0x0A00B510, 0x47D331B4, 0x0AF870AD, 0x07491B35, - 0x108A843B, 0x12AE9A25, 0x6889F95A, 0x737FCF9F, - 0x561A2BBC, 0x6F15D5C5, 0x38E62A69, 0x3DD8E71F, - 0x0EE8E78E, 0x72B24913, 0x3B84559C, 0x1E70C44B, - 0x45B5B7D3, 0x2779EA69, 0x21EA2466, 0x5D1A4DCC, - 0x1E69B05D, 0x7FD584D8, 0x30AD233A, 0x1DA08922, - 0x0AFED23D, 0x7FFFFFFF, 0x7178B8BA, 0x283125AF, - 0x00DB571A, 0x12B3F39D, 0x6B28E665, 0x45047BB5, - 0x06BF42AE, 0x0F5C6C14, 0x3C177195, 0x50136970, - 0x786C8FEB, 0x27FA4443, 0x7F10D2D7, 0x1BBFDD9A, - 0x6B9514C0, 0x7DE88773, 0x52067AE2, 0x62D790F9, - 0x48EE8850, 0x32A0870C, 0x52963199, 0x404C4077, - 0x22C4F91E, 0x50AFA3FB, 0x74D43906, 0x49913D13, - 0x79830D45, 0x12F60187, 0x5BDB259F, 0x5E2AD4F3, - 0x7FEB56AC, 0x46C5B086, 0x19BFAF64, 0x268A976E, - 0x132EA745, 0x032C4960, 0x28A9A53C, 0x7D506BE8 + 0x1F734226, 0x618731DC, 0x7DB0FBEB, 0x5F0D0508, + 0x48563944, 0x67200CAB, 0x32DB0685, 0x2E75D568, + 0x37DA80F9, 0x190E07DD, 0x45EB71ED, 0x59C7AD50, + 0x5665CFE0, 0x7F76C5C5, 0x6059B69C, 0x61955104, + 0x5F7E6885, 0x28964887, 0x4A03057F, 0x4EF21858, + 0x58BD469F, 0x28FC3DF2, 0x7590A9D6, 0x28D4628A, + 0x47BB4F53, 0x5B9EB56F, 0x29A3E03E, 0x700F45D1, + 0x7C5CC410, 0x6952EF47, 0x4AEE9857, 0x64C45711, + 0x260DECE5, 0x5A47A942, 0x08C89876, 0x0E6177FF, + 0x03FAFDD1, 0x605313C2, 0x6A79965A, 0x510B9535, + 0x2D92DEDE, 0x29BB8892, 0x4EAEC208, 0x1089D0AD, + 0x3035C40F, 0x0A193378, 0x1A02AF95, 0x46EFE5C6, + 0x28BE9E52, 0x4D3595D9, 0x7DFB1100, 0x0549AB47, + 0x7C98C90C, 0x7CF0F32D, 0x1267D482, 0x39354238, + 0x706E996D, 0x19B485B7, 0x7FB91033, 0x4377B598, + 0x0625B617, 0x53D04177, 0x65008E8E, 0x6F9DDC13, + 0x5237F50F, 0x76CF771D, 0x59B36D2E, 0x31AC5A11, + 0x4DD79FB6, 0x491FEECD, 0x7206A018, 0x542C1144, + 0x74832DFD, 0x55344642, 0x4B1C40A4, 0x417A6061, + 0x06D868E0, 0x5367A0C9, 0x00AAD7D3, 0x58857FBC, + 0x7D72A6B1, 0x2BB8BABD, 0x724D4DB7, 0x7C4CF3D4, + 0x12950030, 0x0F244080, 0x22DDDC99, 0x41F62434, + 0x478F2409, 0x567808C9, 0x135B079F, 0x2FAC1C0E, + 0x5CE5C4AC, 0x11E90218, 0x652B18A6, 0x0EBE2E6E, + 0x5DCACB8B, 0x49EDB6B6, 0x579584EF, 0x53F2794B, + 0x04222852, 0x40A75D90, 0x5782552A, 0x7BF6B5AC, + 0x2AD6B82D, 0x5F1BD83D, 0x6CDAFF3C, 0x0E5E5A38, + 0x0E3B576E, 0x500D4D67, 0x75CF0379, 0x748E1C24, + 0x6DCFC2C9, 0x0373620B, 0x76C034C0, 0x53842D09, + 0x0B6301EB, 0x6B620642, 0x30F5CC0B, 0x7CA39E36, + 0x7F49A009, 0x753C844A, 0x6DE49BEB, 0x4CF5C95D, + 0x2CDA5375, 0x079F3CD5, 0x63AB778A, 0x017B8006, + 0x755C9C83, 0x3613E404, 0x432B38DB, 0x7B0B5F84, + 0x6B47654B, 0x5151405B, 0x7CC2A1E3, 0x1C9A5BCE, + 0x41CCECBF, 0x365EC596, 0x5530BCF6, 0x22777328, + 0x6CC078F9, 0x4C03FB6B, 0x15E27321, 0x153E1B33, + 0x7DC9407B, 0x4C5741BE, 0x3982B31C, 0x493205F7, + 0x20BA9FF5, 0x27F48878, 0x4CF7AB2C, 0x66313680, + 0x402FF7E3, 0x008C6612, 0x7D7EB1D0, 0x1458FF0D, + 0x189B3B74, 0x0A9476F8, 0x11265313, 0x79DF544E, + 0x449EE08B, 0x76065204, 0x10E28120, 0x11936B78, + 0x7337331B, 0x7EB8AD6A, 0x2E120B25, 0x2F2ED77A, + 0x7AE3A75F, 0x1340CB2B, 0x3DE74739, 0x28811D15, + 0x77922783, 0x72DFF27A, 0x23A750C8, 0x0AC62F50, + 0x1E74D15D, 0x2C52EE5F, 0x78EA39F5, 0x798C95E8, + 0x0F514F0E, 0x47580FD2, 0x13005C5E, 0x181F8A54, + 0x76E5F877, 0x5FF4969A, 0x58447DF7, 0x1F211F1A, + 0x27C38FC4, 0x6CE554FA, 0x78FE359E, 0x107F9609, + 0x235E5687, 0x35B4DBF3, 0x17AE8359, 0x4332E29A, + 0x10771B86, 0x30DA6245, 0x183EB776, 0x5609DE89, + 0x482AE202, 0x1158B828, 0x7F658F85, 0x6F8E433B, + 0x46228BBC, 0x00C9B4AF, 0x634C540C, 0x1C1B1105, + 0x669B0540, 0x7D3483F9, 0x2A7959F1, 0x6A151A6E, + 0x6B8F29DF, 0x6ACF688C, 0x18EFC1D1, 0x0C2AE2BA, + 0x44AFB68A, 0x76B0BB16, 0x21C735EC, 0x3CD0F666, + 0x4B1190CF, 0x25E719F0, 0x5DC1C380, 0x1D721D77, + 0x5985AE6D, 0x44CD710A, 0x4A574B63, 0x7C729EA3, + 0x3280BA6D, 0x3089BD1E, 0x314CE10F, 0x4049731A, + 0x1154E82F, 0x1614C716, 0x2FF347BF, 0x63F638F3, + 0x0D181E32, 0x680E9733, 0x305C3594, 0x5A86D5EF, + 0x21291C9D, 0x5C11F548, 0x5CA142CB, 0x04753C0F, + 0x301AF688, 0x79BEF5A5, 0x6824A746, 0x31035622, + 0x0CAA662F, 0x633B6485, 0x291B9A63, 0x4EE094CA, + 0x3F94197C, 0x7661A4D6, 0x514690FE, 0x7FFFFFFF }; static const q15_t ref_q15[256] = { - 0x27DE, 0x683D, 0x7B7E, 0x5FF5, 0x75D4, 0x6E04, 0x7298, 0x328A, - 0x27B8, 0x77C1, 0x778B, 0x0E22, 0x09E5, 0x14FD, 0x0384, 0x4651, - 0x71A2, 0x330C, 0x7668, 0x6092, 0x60C7, 0x7AA8, 0x3B8F, 0x242B, - 0x3A32, 0x3CD6, 0x6765, 0x67C6, 0x6923, 0x5E8B, 0x300D, 0x2B66, - 0x1753, 0x33FB, 0x0888, 0x7CB7, 0x3697, 0x1619, 0x1D00, 0x7FA2, - 0x409F, 0x20ED, 0x703D, 0x5F4B, 0x32CA, 0x7842, 0x6D8C, 0x0D1D, - 0x41A2, 0x2A90, 0x4036, 0x28B4, 0x7EAB, 0x7C95, 0x611C, 0x35AC, - 0x48DA, 0x0349, 0x7FFA, 0x4AD3, 0x6CC5, 0x3A92, 0x2C46, 0x47C7, - 0x298C, 0x14A2, 0x2CDB, 0x1D19, 0x5B2A, 0x493C, 0x657D, 0x732B, - 0x69CE, 0x614D, 0x00B3, 0x7894, 0x77AE, 0x1A58, 0x5B53, 0x0CB2, - 0x1A73, 0x12BB, 0x6264, 0x3FCC, 0x269F, 0x7F15, 0x4031, 0x02F8, - 0x4929, 0x57E9, 0x21A3, 0x71E1, 0x464F, 0x70D2, 0x17A3, 0x29B7, - 0x3845, 0x5885, 0x412B, 0x79DB, 0x3E0C, 0x3F4C, 0x60C7, 0x231B, - 0x7905, 0x0A20, 0x1C7B, 0x5165, 0x0E71, 0x15B6, 0x30C9, 0x1100, - 0x65D9, 0x23C7, 0x353C, 0x4BDF, 0x4362, 0x3E87, 0x2263, 0x69F3, - 0x11A6, 0x2E68, 0x360F, 0x1786, 0x0655, 0x21E8, 0x310D, 0x200F, - 0x1311, 0x075F, 0x6BB6, 0x4C99, 0x1A63, 0x3292, 0x04A1, 0x0498, - 0x5A4A, 0x3012, 0x1C8C, 0x740C, 0x78ED, 0x1BE0, 0x7140, 0x1009, - 0x5CE7, 0x38BE, 0x759C, 0x097A, 0x50FE, 0x4C12, 0x5392, 0x1A2B, - 0x5AD7, 0x39CD, 0x1118, 0x31D5, 0x1C10, 0x2BF9, 0x7B64, 0x158C, - 0x4C86, 0x0D67, 0x4D58, 0x58B6, 0x51E8, 0x0C76, 0x4862, 0x569E, - 0x77E3, 0x097A, 0x0E5C, 0x1402, 0x3BB3, 0x551C, 0x1308, 0x170C, - 0x1649, 0x6191, 0x4DEF, 0x6391, 0x2741, 0x77FD, 0x0BF2, 0x4BAE, - 0x4D2A, 0x5B92, 0x453E, 0x3E92, 0x18C9, 0x2F94, 0x358D, 0x34E2, - 0x0A01, 0x47D3, 0x0AF8, 0x0749, 0x108B, 0x12AF, 0x688A, 0x7380, - 0x561A, 0x6F16, 0x38E6, 0x3DD9, 0x0EE9, 0x72B2, 0x3B84, 0x1E71, - 0x45B6, 0x277A, 0x21EA, 0x5D1A, 0x1E6A, 0x7FD6, 0x30AD, 0x1DA1, - 0x0AFF, 0x7FFF, 0x7179, 0x2831, 0x00DB, 0x12B4, 0x6B29, 0x4504, - 0x06BF, 0x0F5C, 0x3C17, 0x5013, 0x786D, 0x27FA, 0x7F11, 0x1BC0, - 0x6B95, 0x7DE9, 0x5206, 0x62D8, 0x48EF, 0x32A1, 0x5296, 0x404C, - 0x22C5, 0x50B0, 0x74D4, 0x4991, 0x7983, 0x12F6, 0x5BDB, 0x5E2B, - 0x7FEB, 0x46C6, 0x19C0, 0x268B, 0x132F, 0x032C, 0x28AA, 0x7D50 + 0x1F73, 0x6187, 0x7DB1, 0x5F0D, 0x4856, 0x6720, 0x32DB, 0x2E76, + 0x37DB, 0x190E, 0x45EB, 0x59C8, 0x5666, 0x7F77, 0x605A, 0x6195, + 0x5F7E, 0x2896, 0x4A03, 0x4EF2, 0x58BD, 0x28FC, 0x7591, 0x28D4, + 0x47BB, 0x5B9F, 0x29A4, 0x700F, 0x7C5D, 0x6953, 0x4AEF, 0x64C4, + 0x260E, 0x5A48, 0x08C9, 0x0E61, 0x03FB, 0x6053, 0x6A7A, 0x510C, + 0x2D93, 0x29BC, 0x4EAF, 0x108A, 0x3036, 0x0A19, 0x1A03, 0x46F0, + 0x28BF, 0x4D36, 0x7DFB, 0x054A, 0x7C99, 0x7CF1, 0x1268, 0x3935, + 0x706F, 0x19B5, 0x7FB9, 0x4378, 0x0626, 0x53D0, 0x6501, 0x6F9E, + 0x5238, 0x76CF, 0x59B3, 0x31AC, 0x4DD8, 0x4920, 0x7207, 0x542C, + 0x7483, 0x5534, 0x4B1C, 0x417A, 0x06D8, 0x5368, 0x00AB, 0x5885, + 0x7D73, 0x2BB9, 0x724D, 0x7C4D, 0x1295, 0x0F24, 0x22DE, 0x41F6, + 0x478F, 0x5678, 0x135B, 0x2FAC, 0x5CE6, 0x11E9, 0x652B, 0x0EBE, + 0x5DCB, 0x49EE, 0x5796, 0x53F2, 0x0422, 0x40A7, 0x5782, 0x7BF7, + 0x2AD7, 0x5F1C, 0x6CDB, 0x0E5E, 0x0E3B, 0x500D, 0x75CF, 0x748E, + 0x6DD0, 0x0373, 0x76C0, 0x5384, 0x0B63, 0x6B62, 0x30F6, 0x7CA4, + 0x7F4A, 0x753D, 0x6DE5, 0x4CF6, 0x2CDA, 0x079F, 0x63AB, 0x017C, + 0x755D, 0x3614, 0x432B, 0x7B0B, 0x6B47, 0x5151, 0x7CC3, 0x1C9A, + 0x41CD, 0x365F, 0x5531, 0x2277, 0x6CC0, 0x4C04, 0x15E2, 0x153E, + 0x7DC9, 0x4C57, 0x3983, 0x4932, 0x20BB, 0x27F5, 0x4CF8, 0x6631, + 0x4030, 0x008C, 0x7D7F, 0x1459, 0x189B, 0x0A94, 0x1126, 0x79DF, + 0x449F, 0x7606, 0x10E3, 0x1193, 0x7337, 0x7EB9, 0x2E12, 0x2F2F, + 0x7AE4, 0x1341, 0x3DE7, 0x2881, 0x7792, 0x72E0, 0x23A7, 0x0AC6, + 0x1E75, 0x2C53, 0x78EA, 0x798D, 0x0F51, 0x4758, 0x1300, 0x1820, + 0x76E6, 0x5FF5, 0x5844, 0x1F21, 0x27C4, 0x6CE5, 0x78FE, 0x1080, + 0x235E, 0x35B5, 0x17AF, 0x4333, 0x1077, 0x30DA, 0x183F, 0x560A, + 0x482B, 0x1159, 0x7F66, 0x6F8E, 0x4623, 0x00CA, 0x634C, 0x1C1B, + 0x669B, 0x7D35, 0x2A79, 0x6A15, 0x6B8F, 0x6ACF, 0x18F0, 0x0C2B, + 0x44B0, 0x76B1, 0x21C7, 0x3CD1, 0x4B12, 0x25E7, 0x5DC2, 0x1D72, + 0x5986, 0x44CD, 0x4A57, 0x7C73, 0x3281, 0x308A, 0x314D, 0x4049, + 0x1155, 0x1615, 0x2FF3, 0x63F6, 0x0D18, 0x680F, 0x305C, 0x5A87, + 0x2129, 0x5C12, 0x5CA1, 0x0475, 0x301B, 0x79BF, 0x6825, 0x3103, + 0x0CAA, 0x633B, 0x291C, 0x4EE1, 0x3F94, 0x7662, 0x5147, 0x7FFF }; static const q7_t ref_q7[256] = { - 0x28, 0x68, 0x7B, 0x60, 0x76, 0x6E, 0x73, 0x33, - 0x28, 0x78, 0x78, 0x0E, 0x0A, 0x15, 0x04, 0x46, - 0x72, 0x33, 0x76, 0x61, 0x61, 0x7B, 0x3C, 0x24, - 0x3A, 0x3D, 0x67, 0x68, 0x69, 0x5F, 0x30, 0x2B, - 0x17, 0x34, 0x09, 0x7D, 0x37, 0x16, 0x1D, 0x7F, - 0x41, 0x21, 0x70, 0x5F, 0x33, 0x78, 0x6E, 0x0D, - 0x42, 0x2B, 0x40, 0x29, 0x7F, 0x7D, 0x61, 0x36, - 0x49, 0x03, 0x7F, 0x4B, 0x6D, 0x3B, 0x2C, 0x48, - 0x2A, 0x15, 0x2D, 0x1D, 0x5B, 0x49, 0x65, 0x73, - 0x6A, 0x61, 0x01, 0x79, 0x78, 0x1A, 0x5B, 0x0D, - 0x1A, 0x13, 0x62, 0x40, 0x27, 0x7F, 0x40, 0x03, - 0x49, 0x58, 0x22, 0x72, 0x46, 0x71, 0x18, 0x2A, - 0x38, 0x59, 0x41, 0x7A, 0x3E, 0x3F, 0x61, 0x23, - 0x79, 0x0A, 0x1C, 0x51, 0x0E, 0x16, 0x31, 0x11, - 0x66, 0x24, 0x35, 0x4C, 0x43, 0x3F, 0x22, 0x6A, - 0x12, 0x2E, 0x36, 0x18, 0x06, 0x22, 0x31, 0x20, - 0x13, 0x07, 0x6C, 0x4D, 0x1A, 0x33, 0x05, 0x05, - 0x5A, 0x30, 0x1D, 0x74, 0x79, 0x1C, 0x71, 0x10, - 0x5D, 0x39, 0x76, 0x09, 0x51, 0x4C, 0x54, 0x1A, - 0x5B, 0x3A, 0x11, 0x32, 0x1C, 0x2C, 0x7B, 0x16, - 0x4D, 0x0D, 0x4D, 0x59, 0x52, 0x0C, 0x48, 0x57, - 0x78, 0x09, 0x0E, 0x14, 0x3C, 0x55, 0x13, 0x17, - 0x16, 0x62, 0x4E, 0x64, 0x27, 0x78, 0x0C, 0x4C, - 0x4D, 0x5C, 0x45, 0x3F, 0x19, 0x30, 0x36, 0x35, - 0x0A, 0x48, 0x0B, 0x07, 0x11, 0x13, 0x69, 0x73, - 0x56, 0x6F, 0x39, 0x3E, 0x0F, 0x73, 0x3C, 0x1E, - 0x46, 0x27, 0x22, 0x5D, 0x1E, 0x7F, 0x31, 0x1E, - 0x0B, 0x7F, 0x71, 0x28, 0x01, 0x13, 0x6B, 0x45, - 0x07, 0x0F, 0x3C, 0x50, 0x78, 0x28, 0x7F, 0x1C, - 0x6C, 0x7E, 0x52, 0x63, 0x49, 0x33, 0x53, 0x40, - 0x23, 0x51, 0x75, 0x4A, 0x7A, 0x13, 0x5C, 0x5E, - 0x7F, 0x47, 0x1A, 0x27, 0x13, 0x03, 0x29, 0x7D + 0x1F, 0x62, 0x7E, 0x5F, 0x48, 0x67, 0x33, 0x2E, + 0x38, 0x19, 0x46, 0x5A, 0x56, 0x7F, 0x60, 0x62, + 0x5F, 0x29, 0x4A, 0x4F, 0x59, 0x29, 0x76, 0x29, + 0x48, 0x5C, 0x2A, 0x70, 0x7C, 0x69, 0x4B, 0x65, + 0x26, 0x5A, 0x09, 0x0E, 0x04, 0x60, 0x6A, 0x51, + 0x2E, 0x2A, 0x4F, 0x11, 0x30, 0x0A, 0x1A, 0x47, + 0x29, 0x4D, 0x7E, 0x05, 0x7D, 0x7D, 0x12, 0x39, + 0x70, 0x1A, 0x7F, 0x43, 0x06, 0x54, 0x65, 0x70, + 0x52, 0x77, 0x5A, 0x32, 0x4E, 0x49, 0x72, 0x54, + 0x75, 0x55, 0x4B, 0x41, 0x07, 0x53, 0x01, 0x59, + 0x7D, 0x2C, 0x72, 0x7C, 0x13, 0x0F, 0x23, 0x42, + 0x48, 0x56, 0x13, 0x30, 0x5D, 0x12, 0x65, 0x0F, + 0x5E, 0x4A, 0x58, 0x54, 0x04, 0x41, 0x58, 0x7C, + 0x2B, 0x5F, 0x6D, 0x0E, 0x0E, 0x50, 0x76, 0x75, + 0x6E, 0x03, 0x77, 0x54, 0x0B, 0x6B, 0x31, 0x7D, + 0x7F, 0x75, 0x6E, 0x4D, 0x2D, 0x08, 0x64, 0x01, + 0x75, 0x36, 0x43, 0x7B, 0x6B, 0x51, 0x7D, 0x1D, + 0x42, 0x36, 0x55, 0x22, 0x6D, 0x4C, 0x16, 0x15, + 0x7E, 0x4C, 0x3A, 0x49, 0x21, 0x28, 0x4D, 0x66, + 0x40, 0x01, 0x7D, 0x14, 0x19, 0x0B, 0x11, 0x7A, + 0x45, 0x76, 0x11, 0x12, 0x73, 0x7F, 0x2E, 0x2F, + 0x7B, 0x13, 0x3E, 0x29, 0x78, 0x73, 0x24, 0x0B, + 0x1E, 0x2C, 0x79, 0x7A, 0x0F, 0x47, 0x13, 0x18, + 0x77, 0x60, 0x58, 0x1F, 0x28, 0x6D, 0x79, 0x10, + 0x23, 0x36, 0x18, 0x43, 0x10, 0x31, 0x18, 0x56, + 0x48, 0x11, 0x7F, 0x70, 0x46, 0x01, 0x63, 0x1C, + 0x67, 0x7D, 0x2A, 0x6A, 0x6C, 0x6B, 0x19, 0x0C, + 0x45, 0x77, 0x22, 0x3D, 0x4B, 0x26, 0x5E, 0x1D, + 0x5A, 0x45, 0x4A, 0x7C, 0x33, 0x31, 0x31, 0x40, + 0x11, 0x16, 0x30, 0x64, 0x0D, 0x68, 0x30, 0x5B, + 0x21, 0x5C, 0x5D, 0x04, 0x30, 0x7A, 0x68, 0x31, + 0x0D, 0x63, 0x29, 0x4F, 0x40, 0x76, 0x51, 0x7F }; static const uint32_t ref_weighted_sum[3] = { - 0x3f225f21, 0x3f015b8e, 0x3ee3eba8 + 0x3f1c763e, 0x3ed2a7ac, 0x3eeb33c8 }; static const uint32_t ref_sort[11] = { - 0xbf41dc56, 0xbe86db59, 0xbe23ea22, 0x3daea625, - 0x3e1cb268, 0x3e1e78b0, 0x3e4939fb, 0x3f4f0f2d, - 0x3f58ebe8, 0x3f77973f, 0x3f800000 + 0xbf800000, 0xbf020833, 0xbecd84a4, 0xbe79828d, + 0xbe77e106, 0xbe23a0cf, 0x3e8b2005, 0x3eae45f9, + 0x3ec60533, 0x3edef701, 0x3f5b587c }; static const uint32_t ref_sort_bitonic_16[16] = { - 0xbf800000, 0xbf4810d2, 0xbf3defb2, 0xbf0fa47e, - 0xbe0bbcb2, 0xbd9e48bd, 0xbd04aa5b, 0x3e0614a0, - 0x3e4dd012, 0x3e6f9b30, 0x3e7aa548, 0x3e86b1fc, - 0x3e8bbdf2, 0x3e8d5f44, 0x3f15c6df, 0x3f73e0cd + 0xbf800000, 0xbf1ac9af, 0xbeb7404b, 0xbe96e2f3, + 0xbe7ebe48, 0xbe49aaa6, 0xbe0c8154, 0xbde7297e, + 0xbd74b8b1, 0xbce9c2a9, 0x3daa5ff8, 0x3dcccc3f, + 0x3ea8d3ec, 0x3ebe06f3, 0x3ed24897, 0x3f0f81a4 }; static const uint32_t ref_sort_bitonic_32[32] = { - 0xbf800000, 0xbf2bcd3a, 0xbf2bbd54, 0xbf242043, - 0xbf15c991, 0xbf0e56f3, 0xbee44d50, 0xbeae554d, - 0xbeaa892f, 0xbea597f8, 0xbe9bd7a1, 0xbe9a8ea5, - 0xbe86705a, 0xbe0f3050, 0xbdba2ac5, 0xbd88e263, - 0xbd044441, 0xbcb6a09b, 0xbcab90e5, 0x3d02f265, - 0x3d36c06f, 0x3de47310, 0x3e212a25, 0x3e4c9ce2, - 0x3e7b68a0, 0x3e9947e0, 0x3ea8f61b, 0x3eb61331, - 0x3eb8fc69, 0x3ef8b082, 0x3f3213c5, 0x3f612126 + 0xbf800000, 0xbf1abb67, 0xbf0ec9ee, 0xbf068a30, + 0xbf043534, 0xbf012b00, 0xbefeaa91, 0xbefd1a2a, + 0xbee8d12a, 0xbed8c7f0, 0xbe972d7a, 0xbe81fc15, + 0xbe4e84cb, 0xbe3c1689, 0xbdf605d0, 0xbd9234a0, + 0xbd2a8ea8, 0x3cc96593, 0x3d446123, 0x3d8ce6cb, + 0x3dc3dd48, 0x3dd11d1c, 0x3de7ca48, 0x3e0db75f, + 0x3e506a2c, 0x3e57751c, 0x3e601f55, 0x3e6e514e, + 0x3e841924, 0x3eb5a5a2, 0x3ece8f07, 0x3f2a6bfa }; static const uint32_t ref_sort_const[16] = { - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000, - 0xbf800000, 0xbf800000, 0xbf800000, 0xbf800000 - }; - -static const uint32_t ref_spline_squ[20] = { - 0x0, 0x3f800000, 0x40800000, 0x41100000, - 0x41800000, 0x41c80000, 0x42100000, 0x42440000, - 0x42800000, 0x42a20000, 0x42c80000, 0x42f20000, - 0x43100000, 0x43290000, 0x43440000, 0x43610000, - 0x43800000, 0x43908000, 0x43a20000, 0x43b48000 - }; - -static const uint32_t ref_spline_sin[33] = { - 0x0, 0x3e476168, 0x3ec3b551, 0x3f0e30df, - 0x3f3504f3, 0x3f54aebc, 0x3f6c3da3, 0x3f7aeef6, - 0x3f800000, 0x3f7aeef6, 0x3f6c3da3, 0x3f54aebc, - 0x3f3504f3, 0x3f0e30df, 0x3ec3b551, 0x3e476168, - 0x250d3132, 0xbe476168, 0xbec3b551, 0xbf0e30df, - 0xbf3504f3, 0xbf54aebc, 0xbf6c3da3, 0xbf7aeef6, - 0xbf800000, 0xbf7aeef6, 0xbf6c3da3, 0xbf54aebc, - 0xbf3504f3, 0xbf0e30df, 0xbec3b551, 0xbe476168, - 0xa5a00000 - }; - -static const uint32_t ref_spline_ram[30] = { - 0xc1200000, 0xc1100000, 0xc1000000, 0xc0e00000, - 0xc0c00000, 0xc0a00000, 0xc0800000, 0xc0400000, - 0xc0000000, 0xbf800000, 0x0, 0x3f800000, - 0x40000000, 0x40400000, 0x40800000, 0x40a00000, - 0x40c00000, 0x40e00000, 0x41000000, 0x41100000, - 0x41200000, 0x41300000, 0x41400000, 0x41500000, - 0x41600000, 0x41700000, 0x41800000, 0x41880000, - 0x41900000, 0x41980000 + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000, + 0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000 };