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