1static const q31_t in_q31[256] = { 2 0x7EC0DA9F, 0x300D8567, 0x2BB3A36E, 0x7136A168, 3 0x6520B7C7, 0x4B02E46B, 0x00F28BF3, 0x53AF1EED, 4 0x26DACA64, 0x61E42533, 0x289C2195, 0x320B10A6, 5 0x4B458BC8, 0x3EFC205D, 0x186D0FD2, 0x492D543D, 6 0x766CF7FC, 0x008E7BAA, 0x23C340ED, 0x78A2DB82, 7 0x2A3F6DA9, 0x0D3BA980, 0x5FBCBDDE, 0x6156807C, 8 0x77C1054B, 0x2D2A3FB6, 0x319FD45F, 0x40E4CFE0, 9 0x1E57E339, 0x10366F57, 0x5F47B4E1, 0x085EEE46, 10 0x24FCC76A, 0x22E956F1, 0x264624C9, 0x68E5C459, 11 0x1453E2D4, 0x0FA7A730, 0x65B8CC3C, 0x5B14E87D, 12 0x1701BA00, 0x3762D3BD, 0x687DD069, 0x53A197BD, 13 0x2F57F76B, 0x4F80E077, 0x57AF1A55, 0x066103DA, 14 0x2EE7F54D, 0x32AD8B74, 0x4FC8905A, 0x71E4D3A6, 15 0x6A686669, 0x20C8AFB3, 0x561691C1, 0x6E3610FF, 16 0x54F805CE, 0x67EEFB61, 0x6325DE47, 0x3ACF0D51, 17 0x4BB1E9BC, 0x16DA5132, 0x1DC24B7F, 0x46D39B7D, 18 0x0748D99A, 0x67507907, 0x71C2A0CE, 0x66A12B5E, 19 0x5EAABE83, 0x36C22505, 0x5439ED56, 0x126AD140, 20 0x1948F636, 0x7F409FEF, 0x18F56483, 0x38AB99E5, 21 0x3E1BF383, 0x538C5818, 0x3596884D, 0x40D0E7E8, 22 0x1AC31B77, 0x6CF092DD, 0x014A8B8A, 0x7F551DEA, 23 0x496254F2, 0x6C461888, 0x3B6D079C, 0x428B6A46, 24 0x6048E928, 0x4FB8D370, 0x33D83670, 0x1A90FCAC, 25 0x0D271BEC, 0x24B4DE7B, 0x0D3ECB47, 0x433B9F97, 26 0x528B0A89, 0x63556DE3, 0x7C7929E5, 0x0659F9FF, 27 0x702082A0, 0x5798C74A, 0x7D960034, 0x4B681785, 28 0x402424B5, 0x1D60440C, 0x6ACC3AA5, 0x250C518A, 29 0x6DCE1A85, 0x66763618, 0x3CDB940A, 0x3DD502EB, 30 0x1D0875CE, 0x2B4BB5CC, 0x7BDC1788, 0x0F557C39, 31 0x1068867B, 0x3A2302E7, 0x3731F7E3, 0x1AA32A53, 32 0x2E2B9E2A, 0x70E827E4, 0x5D901AF0, 0x386B8802, 33 0x5FA445A9, 0x20164734, 0x0EB4BF42, 0x1D9436E2, 34 0x1D303CD8, 0x21F57E58, 0x68536562, 0x6624E4E5, 35 0x387D3164, 0x5FADDABE, 0x36CC936A, 0x7DE389A8, 36 0x68F2A47E, 0x31B8B7DA, 0x421638B0, 0x5BC0179D, 37 0x7FA4BF39, 0x5C701CFE, 0x054D8A1D, 0x71C91AB5, 38 0x062477BA, 0x719A957E, 0x09F31E9D, 0x509616E3, 39 0x5E7209E6, 0x569D8B13, 0x44F829E3, 0x5F9D760E, 40 0x64552B0B, 0x14DC7F16, 0x0EDA6C23, 0x7418AB03, 41 0x7F594927, 0x0FB0C1D0, 0x5290CA0C, 0x668F298D, 42 0x651FC58F, 0x11127EB0, 0x19FCFC93, 0x2CFDE885, 43 0x30E5C31E, 0x300DBB85, 0x31EF4F9F, 0x26D1F262, 44 0x7FFFFFFF, 0x1DE7A255, 0x0E10AA1A, 0x40569908, 45 0x7AE61A22, 0x69F5C66F, 0x401FB521, 0x40CB62A5, 46 0x42FEE3C4, 0x245AB85D, 0x2C4641DB, 0x1CF200FF, 47 0x1117E2F5, 0x30FE9091, 0x3451FA7B, 0x141A9887, 48 0x1BCC90DA, 0x3D085542, 0x1B0A0D05, 0x30DD6FC6, 49 0x39BEFA2C, 0x1AB4D70F, 0x4C23A981, 0x325A4A0E, 50 0x08D0869C, 0x1E10200B, 0x30A9C66F, 0x7C5EB84B, 51 0x208D9434, 0x2A29F93F, 0x4AC7FAC3, 0x7225746B, 52 0x51E325F3, 0x565BEE9F, 0x0C726E6E, 0x64BB53B2, 53 0x16CF5076, 0x50555E8E, 0x1241BFCE, 0x7CC7F9CB, 54 0x29CAF376, 0x004BE8C0, 0x4F221E3D, 0x4DD7D95A, 55 0x24F96D3C, 0x40C2190F, 0x2864E88C, 0x57829007, 56 0x4AD3F9B2, 0x6D76E399, 0x29B3AE51, 0x33F7A257, 57 0x406A541C, 0x73A906E1, 0x2D247E53, 0x1EE346D9, 58 0x1016E2E7, 0x77296AB5, 0x0D2CE0F4, 0x35AAC25B, 59 0x1ABB0B51, 0x3E3DC093, 0x32C05430, 0x0B284854, 60 0x5AD3ED27, 0x7B27254C, 0x74E2E388, 0x475A4B56, 61 0x12A024CC, 0x047EACBC, 0x71C45F87, 0x1E983936, 62 0x5D043868, 0x6EA935A8, 0x1254F5AD, 0x742915B4, 63 0x55C51426, 0x14CBDAD3, 0x0C76C37C, 0x497187E5, 64 0x7B5AFF52, 0x2E455C16, 0x51FD82D8, 0x0BB487B1, 65 0x1CAB4585, 0x40038105, 0x5A81393B, 0x4464EC3B 66 }; 67 68static const uint32_t ref_f32[256] = { 69 0x3f7d81b5, 0x3ec03616, 0x3eaece8e, 0x3f626d43, 70 0x3f4a4170, 0x3f1605c9, 0x3bf28bf3, 0x3f275e3e, 71 0x3e9b6b2a, 0x3f43c84a, 0x3ea27086, 0x3ec82c43, 72 0x3f168b18, 0x3efbf081, 0x3e43687f, 0x3f125aa8, 73 0x3f6cd9f0, 0x3b8e7baa, 0x3e8f0d04, 0x3f7145b7, 74 0x3ea8fdb7, 0x3dd3ba98, 0x3f3f797c, 0x3f42ad01, 75 0x3f6f820b, 0x3eb4a8ff, 0x3ec67f51, 0x3f01c9a0, 76 0x3e72bf1a, 0x3e01b37b, 0x3f3e8f6a, 0x3d85eee4, 77 0x3e93f31e, 0x3e8ba55c, 0x3e991893, 0x3f51cb89, 78 0x3e229f17, 0x3dfa7a73, 0x3f4b7198, 0x3f3629d1, 79 0x3e380dd0, 0x3edd8b4f, 0x3f50fba1, 0x3f27432f, 80 0x3ebd5fde, 0x3f1f01c1, 0x3f2f5e35, 0x3d4c207b, 81 0x3ebb9fd5, 0x3ecab62e, 0x3f1f9121, 0x3f63c9a7, 82 0x3f54d0cd, 0x3e8322bf, 0x3f2c2d24, 0x3f5c6c22, 83 0x3f29f00c, 0x3f4fddf7, 0x3f464bbd, 0x3eeb3c35, 84 0x3f1763d3, 0x3e36d28a, 0x3e6e125c, 0x3f0da737, 85 0x3d691b33, 0x3f4ea0f2, 0x3f638542, 0x3f4d4257, 86 0x3f3d557d, 0x3edb0894, 0x3f2873db, 0x3e13568a, 87 0x3e4a47b2, 0x3f7e8140, 0x3e47ab24, 0x3ee2ae68, 88 0x3ef86fce, 0x3f2718b0, 0x3ed65a21, 0x3f01a1d0, 89 0x3e5618dc, 0x3f59e126, 0x3c2545c5, 0x3f7eaa3c, 90 0x3f12c4aa, 0x3f588c31, 0x3eedb41e, 0x3f0516d5, 91 0x3f4091d2, 0x3f1f71a7, 0x3ecf60da, 0x3e5487e5, 92 0x3dd271bf, 0x3e92d37a, 0x3dd3ecb4, 0x3f06773f, 93 0x3f251615, 0x3f46aadc, 0x3f78f254, 0x3d4b3f40, 94 0x3f604105, 0x3f2f318f, 0x3f7b2c00, 0x3f16d02f, 95 0x3f004849, 0x3e6b0220, 0x3f559875, 0x3e943146, 96 0x3f5b9c35, 0x3f4cec6c, 0x3ef36e50, 0x3ef7540c, 97 0x3e6843ae, 0x3ead2ed7, 0x3f77b82f, 0x3df557c4, 98 0x3e034434, 0x3ee88c0c, 0x3edcc7e0, 0x3e551953, 99 0x3eb8ae79, 0x3f61d050, 0x3f3b2036, 0x3ee1ae20, 100 0x3f3f488b, 0x3e80591d, 0x3deb4bf4, 0x3e6ca1b7, 101 0x3e6981e7, 0x3e87d5f9, 0x3f50a6cb, 0x3f4c49ca, 102 0x3ee1f4c6, 0x3f3f5bb5, 0x3edb324e, 0x3f7bc713, 103 0x3f51e549, 0x3ec6e2df, 0x3f042c71, 0x3f37802f, 104 0x3f7f497e, 0x3f38e03a, 0x3d29b144, 0x3f639235, 105 0x3d448ef7, 0x3f63352b, 0x3d9f31ea, 0x3f212c2e, 106 0x3f3ce414, 0x3f2d3b16, 0x3f09f054, 0x3f3f3aec, 107 0x3f48aa56, 0x3e26e3f9, 0x3deda6c2, 0x3f683156, 108 0x3f7eb292, 0x3dfb0c1d, 0x3f252194, 0x3f4d1e53, 109 0x3f4a3f8b, 0x3e0893f6, 0x3e4fe7e5, 0x3eb3f7a2, 110 0x3ec3970c, 0x3ec036ee, 0x3ec7bd3e, 0x3e9b47ca, 111 0x3f800000, 0x3e6f3d13, 0x3de10aa2, 0x3f00ad32, 112 0x3f75cc34, 0x3f53eb8d, 0x3f003f6a, 0x3f0196c5, 113 0x3f05fdc8, 0x3e916ae1, 0x3eb11907, 0x3e679008, 114 0x3e08bf18, 0x3ec3fa42, 0x3ed147ea, 0x3e20d4c4, 115 0x3e5e6487, 0x3ef42155, 0x3e585068, 0x3ec375bf, 116 0x3ee6fbe9, 0x3e55a6b8, 0x3f184753, 0x3ec96928, 117 0x3d8d086a, 0x3e708100, 0x3ec2a71a, 0x3f78bd71, 118 0x3e823651, 0x3ea8a7e5, 0x3f158ff6, 0x3f644ae9, 119 0x3f23c64c, 0x3f2cb7dd, 0x3dc726e7, 0x3f4976a7, 120 0x3e367a84, 0x3f20aabd, 0x3e120dfe, 0x3f798ff4, 121 0x3ea72bce, 0x3b17d180, 0x3f1e443c, 0x3f1bafb3, 122 0x3e93e5b5, 0x3f018432, 0x3ea193a2, 0x3f2f0520, 123 0x3f15a7f3, 0x3f5aedc7, 0x3ea6ceb9, 0x3ecfde89, 124 0x3f00d4a8, 0x3f67520e, 0x3eb491f9, 0x3e771a37, 125 0x3e00b717, 0x3f6e52d5, 0x3dd2ce0f, 0x3ed6ab09, 126 0x3e55d85b, 0x3ef8f702, 0x3ecb0151, 0x3db28485, 127 0x3f35a7da, 0x3f764e4b, 0x3f69c5c7, 0x3f0eb497, 128 0x3e150126, 0x3d0fd597, 0x3f6388bf, 0x3e74c1ca, 129 0x3f3a0871, 0x3f5d526b, 0x3e12a7ad, 0x3f68522b, 130 0x3f2b8a28, 0x3e265ed7, 0x3dc76c38, 0x3f12e310, 131 0x3f76b5ff, 0x3eb91570, 0x3f23fb06, 0x3dbb487b, 132 0x3e655a2c, 0x3f000702, 0x3f350272, 0x3f08c9d8 133 }; 134 135static const q15_t ref_q15[256] = { 136 0x7EC1, 0x300E, 0x2BB4, 0x7137, 0x6521, 0x4B03, 0x00F3, 0x53AF, 137 0x26DB, 0x61E4, 0x289C, 0x320B, 0x4B46, 0x3EFC, 0x186D, 0x492D, 138 0x766D, 0x008E, 0x23C3, 0x78A3, 0x2A3F, 0x0D3C, 0x5FBD, 0x6157, 139 0x77C1, 0x2D2A, 0x31A0, 0x40E5, 0x1E58, 0x1036, 0x5F48, 0x085F, 140 0x24FD, 0x22E9, 0x2646, 0x68E6, 0x1454, 0x0FA8, 0x65B9, 0x5B15, 141 0x1702, 0x3763, 0x687E, 0x53A2, 0x2F58, 0x4F81, 0x57AF, 0x0661, 142 0x2EE8, 0x32AE, 0x4FC9, 0x71E5, 0x6A68, 0x20C9, 0x5617, 0x6E36, 143 0x54F8, 0x67EF, 0x6326, 0x3ACF, 0x4BB2, 0x16DA, 0x1DC2, 0x46D4, 144 0x0749, 0x6750, 0x71C3, 0x66A1, 0x5EAB, 0x36C2, 0x543A, 0x126B, 145 0x1949, 0x7F41, 0x18F5, 0x38AC, 0x3E1C, 0x538C, 0x3597, 0x40D1, 146 0x1AC3, 0x6CF1, 0x014B, 0x7F55, 0x4962, 0x6C46, 0x3B6D, 0x428B, 147 0x6049, 0x4FB9, 0x33D8, 0x1A91, 0x0D27, 0x24B5, 0x0D3F, 0x433C, 148 0x528B, 0x6355, 0x7C79, 0x065A, 0x7021, 0x5799, 0x7D96, 0x4B68, 149 0x4024, 0x1D60, 0x6ACC, 0x250C, 0x6DCE, 0x6676, 0x3CDC, 0x3DD5, 150 0x1D08, 0x2B4C, 0x7BDC, 0x0F55, 0x1069, 0x3A23, 0x3732, 0x1AA3, 151 0x2E2C, 0x70E8, 0x5D90, 0x386C, 0x5FA4, 0x2016, 0x0EB5, 0x1D94, 152 0x1D30, 0x21F5, 0x6853, 0x6625, 0x387D, 0x5FAE, 0x36CD, 0x7DE4, 153 0x68F3, 0x31B9, 0x4216, 0x5BC0, 0x7FA5, 0x5C70, 0x054E, 0x71C9, 154 0x0624, 0x719B, 0x09F3, 0x5096, 0x5E72, 0x569E, 0x44F8, 0x5F9D, 155 0x6455, 0x14DC, 0x0EDA, 0x7419, 0x7F59, 0x0FB1, 0x5291, 0x668F, 156 0x6520, 0x1112, 0x19FD, 0x2CFE, 0x30E6, 0x300E, 0x31EF, 0x26D2, 157 0x7FFF, 0x1DE8, 0x0E11, 0x4057, 0x7AE6, 0x69F6, 0x4020, 0x40CB, 158 0x42FF, 0x245B, 0x2C46, 0x1CF2, 0x1118, 0x30FF, 0x3452, 0x141B, 159 0x1BCD, 0x3D08, 0x1B0A, 0x30DD, 0x39BF, 0x1AB5, 0x4C24, 0x325A, 160 0x08D1, 0x1E10, 0x30AA, 0x7C5F, 0x208E, 0x2A2A, 0x4AC8, 0x7225, 161 0x51E3, 0x565C, 0x0C72, 0x64BB, 0x16CF, 0x5055, 0x1242, 0x7CC8, 162 0x29CB, 0x004C, 0x4F22, 0x4DD8, 0x24F9, 0x40C2, 0x2865, 0x5783, 163 0x4AD4, 0x6D77, 0x29B4, 0x33F8, 0x406A, 0x73A9, 0x2D24, 0x1EE3, 164 0x1017, 0x7729, 0x0D2D, 0x35AB, 0x1ABB, 0x3E3E, 0x32C0, 0x0B28, 165 0x5AD4, 0x7B27, 0x74E3, 0x475A, 0x12A0, 0x047F, 0x71C4, 0x1E98, 166 0x5D04, 0x6EA9, 0x1255, 0x7429, 0x55C5, 0x14CC, 0x0C77, 0x4972, 167 0x7B5B, 0x2E45, 0x51FE, 0x0BB5, 0x1CAB, 0x4004, 0x5A81, 0x4465 168 }; 169 170static const q7_t ref_q7[256] = { 171 0x7F, 0x30, 0x2C, 0x71, 0x65, 0x4B, 0x01, 0x54, 172 0x27, 0x62, 0x29, 0x32, 0x4B, 0x3F, 0x18, 0x49, 173 0x76, 0x01, 0x24, 0x79, 0x2A, 0x0D, 0x60, 0x61, 174 0x78, 0x2D, 0x32, 0x41, 0x1E, 0x10, 0x5F, 0x08, 175 0x25, 0x23, 0x26, 0x69, 0x14, 0x10, 0x66, 0x5B, 176 0x17, 0x37, 0x68, 0x54, 0x2F, 0x50, 0x58, 0x06, 177 0x2F, 0x33, 0x50, 0x72, 0x6A, 0x21, 0x56, 0x6E, 178 0x55, 0x68, 0x63, 0x3B, 0x4C, 0x17, 0x1E, 0x47, 179 0x07, 0x67, 0x72, 0x67, 0x5F, 0x37, 0x54, 0x12, 180 0x19, 0x7F, 0x19, 0x39, 0x3E, 0x54, 0x36, 0x41, 181 0x1B, 0x6D, 0x01, 0x7F, 0x49, 0x6C, 0x3B, 0x43, 182 0x60, 0x50, 0x34, 0x1B, 0x0D, 0x25, 0x0D, 0x43, 183 0x53, 0x63, 0x7C, 0x06, 0x70, 0x58, 0x7E, 0x4B, 184 0x40, 0x1D, 0x6B, 0x25, 0x6E, 0x66, 0x3D, 0x3E, 185 0x1D, 0x2B, 0x7C, 0x0F, 0x10, 0x3A, 0x37, 0x1B, 186 0x2E, 0x71, 0x5E, 0x38, 0x60, 0x20, 0x0F, 0x1E, 187 0x1D, 0x22, 0x68, 0x66, 0x38, 0x60, 0x37, 0x7E, 188 0x69, 0x32, 0x42, 0x5C, 0x7F, 0x5C, 0x05, 0x72, 189 0x06, 0x72, 0x0A, 0x51, 0x5E, 0x57, 0x45, 0x60, 190 0x64, 0x15, 0x0F, 0x74, 0x7F, 0x10, 0x53, 0x67, 191 0x65, 0x11, 0x1A, 0x2D, 0x31, 0x30, 0x32, 0x27, 192 0x7F, 0x1E, 0x0E, 0x40, 0x7B, 0x6A, 0x40, 0x41, 193 0x43, 0x24, 0x2C, 0x1D, 0x11, 0x31, 0x34, 0x14, 194 0x1C, 0x3D, 0x1B, 0x31, 0x3A, 0x1B, 0x4C, 0x32, 195 0x09, 0x1E, 0x31, 0x7C, 0x21, 0x2A, 0x4B, 0x72, 196 0x52, 0x56, 0x0C, 0x65, 0x17, 0x50, 0x12, 0x7D, 197 0x2A, 0x00, 0x4F, 0x4E, 0x25, 0x41, 0x28, 0x58, 198 0x4B, 0x6D, 0x2A, 0x34, 0x40, 0x74, 0x2D, 0x1F, 199 0x10, 0x77, 0x0D, 0x36, 0x1B, 0x3E, 0x33, 0x0B, 200 0x5B, 0x7B, 0x75, 0x47, 0x13, 0x04, 0x72, 0x1F, 201 0x5D, 0x6F, 0x12, 0x74, 0x56, 0x15, 0x0C, 0x49, 202 0x7B, 0x2E, 0x52, 0x0C, 0x1D, 0x40, 0x5B, 0x44 203 }; 204 205