1static const q15_t in_q15[256] = {
2    0x4E35, 0x2893, 0x5C35, 0x6209, 0x070C, 0x72E1, 0x717A, 0x4BAB,
3    0x3D7E, 0x0168, 0x5190, 0x5F3F, 0x33E5, 0x7D25, 0x7CF2, 0x15CE,
4    0x2827, 0x6DD0, 0x6A4C, 0x4D51, 0x62B9, 0x3F0E, 0x5DE4, 0x5F21,
5    0x4EF5, 0x6F23, 0x528A, 0x3932, 0x5C83, 0x68C5, 0x5654, 0x0424,
6    0x5D37, 0x2280, 0x3AA1, 0x40FB, 0x19E5, 0x76EA, 0x07EA, 0x26D1,
7    0x14F1, 0x36D2, 0x75B8, 0x5410, 0x6CD4, 0x413A, 0x5BDD, 0x26B4,
8    0x49A3, 0x29F3, 0x2983, 0x7109, 0x66E8, 0x1624, 0x7516, 0x6C5A,
9    0x32D9, 0x2A9D, 0x5834, 0x0C4F, 0x352C, 0x546A, 0x19CF, 0x43B6,
10    0x6905, 0x21CC, 0x1A26, 0x4CB5, 0x380F, 0x3161, 0x5598, 0x7965,
11    0x4E89, 0x5897, 0x18AB, 0x33B3, 0x06B1, 0x0D55, 0x6A48, 0x5343,
12    0x3BB9, 0x7441, 0x1538, 0x2754, 0x0C16, 0x5B51, 0x3C6E, 0x5B57,
13    0x5FD9, 0x206A, 0x2661, 0x6CE8, 0x5792, 0x277D, 0x0727, 0x2067,
14    0x6708, 0x1148, 0x2F01, 0x7E04, 0x0A30, 0x39E9, 0x36B6, 0x1EB7,
15    0x0E12, 0x4EBC, 0x796C, 0x181C, 0x784D, 0x0E4A, 0x66D1, 0x5C2C,
16    0x1DB7, 0x4729, 0x748E, 0x1C03, 0x7449, 0x674D, 0x318D, 0x15AF,
17    0x378A, 0x15B8, 0x65BD, 0x5EB7, 0x057A, 0x15CC, 0x4300, 0x3300,
18    0x2DBB, 0x7756, 0x1856, 0x6DA7, 0x4C7B, 0x6181, 0x19DE, 0x1085,
19    0x0CFC, 0x7922, 0x454D, 0x51FC, 0x377B, 0x26B6, 0x1501, 0x72F0,
20    0x797E, 0x353F, 0x33CC, 0x6369, 0x24F1, 0x2844, 0x6BEE, 0x676F,
21    0x7C32, 0x17F1, 0x0F04, 0x6FB1, 0x0AB0, 0x55D0, 0x19C9, 0x3588,
22    0x53A6, 0x1FF6, 0x32A6, 0x6F44, 0x1EEB, 0x61FE, 0x0984, 0x271A,
23    0x2C19, 0x6D31, 0x2836, 0x57BE, 0x37AC, 0x36C3, 0x667F, 0x7D4A,
24    0x6EA0, 0x1D7B, 0x2CF0, 0x0846, 0x518C, 0x7F37, 0x483A, 0x4F70,
25    0x366E, 0x7730, 0x66B1, 0x263B, 0x0278, 0x296F, 0x3DE0, 0x2CE2,
26    0x38BA, 0x50D0, 0x064D, 0x3160, 0x5B9D, 0x05CB, 0x43CC, 0x6476,
27    0x0775, 0x3BA0, 0x05CB, 0x51F4, 0x7FFF, 0x3C93, 0x0CE2, 0x33D2,
28    0x0B3A, 0x1C88, 0x612F, 0x2031, 0x6447, 0x1E41, 0x173D, 0x28B3,
29    0x2E24, 0x450A, 0x1669, 0x3542, 0x71D0, 0x34CF, 0x0FB2, 0x5103,
30    0x023D, 0x72D9, 0x561E, 0x5D2C, 0x125E, 0x5B47, 0x7874, 0x26D8,
31    0x061F, 0x28EB, 0x15EA, 0x2726, 0x367B, 0x3143, 0x586A, 0x4682,
32    0x0A22, 0x2CB6, 0x2582, 0x6FC3, 0x665F, 0x41EE, 0x3B34, 0x683D,
33    0x63EA, 0x026F, 0x2E83, 0x7F49, 0x3ABB, 0x3C45, 0x7D6D, 0x5218
34    };
35
36static const uint32_t ref_f32[256] = {
37    0x3f1c6adf, 0x3ea24a37, 0x3f386a1e, 0x3f44112b,
38    0x3d6179b4, 0x3f65c290, 0x3f62f448, 0x3f1756f9,
39    0x3ef5f730, 0x3c33e8f0, 0x3f231fde, 0x3f3e7d32,
40    0x3ecf947a, 0x3f7a4a7c, 0x3f79e440, 0x3e2e716b,
41    0x3ea09c7b, 0x3f5ba0b4, 0x3f549707, 0x3f1aa2b2,
42    0x3f4571a3, 0x3efc3806, 0x3f3bc761, 0x3f3e41ff,
43    0x3f1de9df, 0x3f5e46b9, 0x3f2514d3, 0x3ee4c73a,
44    0x3f390678, 0x3f518aaa, 0x3f2ca835, 0x3d047d1e,
45    0x3f3a6ee4, 0x3e8a00da, 0x3eea8418, 0x3f01f5ce,
46    0x3e4f2ba3, 0x3f6dd342, 0x3d7d4f61, 0x3e9b44a5,
47    0x3e278813, 0x3edb48c0, 0x3f6b6f24, 0x3f281f06,
48    0x3f59a88c, 0x3f0274ad, 0x3f37b987, 0x3e9ad1e3,
49    0x3f1346b2, 0x3ea7ca06, 0x3ea60d3c, 0x3f6212b4,
50    0x3f4dcfa3, 0x3e311d94, 0x3f6a2b13, 0x3f58b474,
51    0x3ecb64be, 0x3eaa7563, 0x3f30686e, 0x3dc4f5d2,
52    0x3ed4afbd, 0x3f28d432, 0x3e4e7858, 0x3f076bc8,
53    0x3f5209f9, 0x3e872e95, 0x3e513169, 0x3f196a9d,
54    0x3ee03d32, 0x3ec584d1, 0x3f2b3085, 0x3f72c925,
55    0x3f1d12df, 0x3f312d56, 0x3e455660, 0x3ececb5e,
56    0x3d562ef9, 0x3dd54e32, 0x3f5490b4, 0x3f26862c,
57    0x3eeee38c, 0x3f6882e1, 0x3e29c15a, 0x3e9d4ec6,
58    0x3dc162d6, 0x3f36a194, 0x3ef1b6d7, 0x3f36ad51,
59    0x3f3fb1a1, 0x3e81a668, 0x3e9983bd, 0x3f59d079,
60    0x3f2f23f2, 0x3e9df4d7, 0x3d64dcb6, 0x3e819aae,
61    0x3f4e0f7c, 0x3e0a41b1, 0x3ebc03bc, 0x3f7c077e,
62    0x3da3061f, 0x3ee7a377, 0x3edad8d4, 0x3e75bb59,
63    0x3de11a61, 0x3f1d78fc, 0x3f72d753, 0x3e40dc61,
64    0x3f70995e, 0x3de49c49, 0x3f4da2d1, 0x3f38580b,
65    0x3e6db795, 0x3f0e5130, 0x3f691b6a, 0x3e601bb4,
66    0x3f689196, 0x3f4e9a4c, 0x3ec632cb, 0x3e2d7456,
67    0x3ede27b5, 0x3e2dbca6, 0x3f4b7a94, 0x3f3d6dd8,
68    0x3d2f3272, 0x3e2e633a, 0x3f060079, 0x3ecbfed7,
69    0x3eb6eca3, 0x3f6eab73, 0x3e42acc0, 0x3f5b4d4d,
70    0x3f18f55d, 0x3f43020f, 0x3e4eed62, 0x3e042b89,
71    0x3dcfbc03, 0x3f7243ee, 0x3f0a9aef, 0x3f23f737,
72    0x3eddeb97, 0x3e9ad60e, 0x3e280b49, 0x3f65e036,
73    0x3f72fb0f, 0x3ed4fb48, 0x3ecf2ea5, 0x3f46d277,
74    0x3e93c491, 0x3ea111b1, 0x3f57db68, 0x3f4ede18,
75    0x3f786390, 0x3e3f87b3, 0x3df03b70, 0x3f5f6193,
76    0x3daafbaf, 0x3f2b9fe6, 0x3e4e4865, 0x3ed62047,
77    0x3f274b78, 0x3e7fac39, 0x3eca98a6, 0x3f5e8763,
78    0x3e7754fd, 0x3f43fc3d, 0x3d9847fb, 0x3e9c680b,
79    0x3eb06547, 0x3f5a6106, 0x3ea0d6ff, 0x3f2f7be1,
80    0x3edeaf43, 0x3edb0c8f, 0x3f4cfe9e, 0x3f7a94e4,
81    0x3f5d4054, 0x3e6bd528, 0x3eb3bfba, 0x3d846680,
82    0x3f231854, 0x3f7e6d38, 0x3f1074bc, 0x3f1edf0c,
83    0x3ed9b78d, 0x3f6e608f, 0x3f4d625d, 0x3e98ed59,
84    0x3c9deb17, 0x3ea5bb1e, 0x3ef781da, 0x3eb3893a,
85    0x3ee2e632, 0x3f21a06c, 0x3d4995a8, 0x3ec57e3c,
86    0x3f373a76, 0x3d395b3a, 0x3f079784, 0x3f48ebf5,
87    0x3d6e966c, 0x3eee7f49, 0x3d396f94, 0x3f23e85e,
88    0x3f800000, 0x3ef24a1c, 0x3dce2272, 0x3ecf46d4,
89    0x3db3a4c5, 0x3e64437f, 0x3f425d6c, 0x3e80c515,
90    0x3f488ebe, 0x3e720bec, 0x3e39eb72, 0x3ea2cc82,
91    0x3eb890e8, 0x3f0a1455, 0x3e334bfd, 0x3ed50920,
92    0x3f63a024, 0x3ed33aa2, 0x3dfb261c, 0x3f2205af,
93    0x3c8f3ca1, 0x3f65b290, 0x3f2c3bf5, 0x3f3a5847,
94    0x3e12eea4, 0x3f368e27, 0x3f70e89a, 0x3e9b5e42,
95    0x3d43d67a, 0x3ea3adcf, 0x3e2f50fa, 0x3e9c9609,
96    0x3ed9eaf7, 0x3ec50b41, 0x3f30d3cd, 0x3f0d042b,
97    0x3da21a63, 0x3eb2d75a, 0x3e9608d6, 0x3f5f85e1,
98    0x3f4cbdcf, 0x3f03dc84, 0x3eeccfaf, 0x3f507909,
99    0x3f47d355, 0x3c9bd261, 0x3eba0b10, 0x3f7e92cf,
100    0x3eeaebe9, 0x3ef11366, 0x3f7ad9e7, 0x3f243041
101    };
102
103static const q31_t ref_q31[256] = {
104    0x4E356F7A, 0x28928DB2, 0x5C350EDE, 0x6208959D,
105    0x070BCD9C, 0x72E147FF, 0x717A23FC, 0x4BAB7CAC,
106    0x3D7DCBE2, 0x0167D1E1, 0x518FEEDD, 0x5F3E990D,
107    0x33E51E69, 0x7D253DD3, 0x7CF2203D, 0x15CE2D64,
108    0x28271EAD, 0x6DD059E2, 0x6A4B83A7, 0x4D515914,
109    0x62B8D177, 0x3F0E0162, 0x5DE3B0AC, 0x5F20FFB9,
110    0x4EF4EF7B, 0x6F235C5B, 0x528A698F, 0x3931CE74,
111    0x5C833BC4, 0x68C55513, 0x56541A7A, 0x0423E8F2,
112    0x5D37720D, 0x2280368F, 0x3AA1061A, 0x40FAE6DA,
113    0x19E57462, 0x76E9A0DF, 0x07EA7B08, 0x26D1295B,
114    0x14F10256, 0x36D22FFB, 0x75B79235, 0x540F8339,
115    0x6CD445EA, 0x413A5670, 0x5BDCC361, 0x26B478C9,
116    0x49A358CF, 0x29F28166, 0x29834EEF, 0x710959C8,
117    0x66E7D1BC, 0x1623B282, 0x7515898A, 0x6C5A3A2C,
118    0x32D92F9A, 0x2A9D58A2, 0x583436DA, 0x0C4F5D21,
119    0x352BEF39, 0x546A18D9, 0x19CF0B0B, 0x43B5E428,
120    0x6904FC9F, 0x21CBA54F, 0x1A262D24, 0x4CB54E90,
121    0x380F4C85, 0x31613436, 0x55984276, 0x79649269,
122    0x4E896F72, 0x5896AAC6, 0x18AACC08, 0x33B2D783,
123    0x06B177CA, 0x0D54E324, 0x6A485A1D, 0x5343162B,
124    0x3BB8E2EA, 0x74417061, 0x15382B4D, 0x2753B19A,
125    0x0C162D66, 0x5B50CA29, 0x3C6DB5BE, 0x5B56A88E,
126    0x5FD8D049, 0x206999F3, 0x2660EF48, 0x6CE83CA6,
127    0x5791F8E0, 0x277D35DB, 0x0726E5B4, 0x2066AB77,
128    0x6707BE2A, 0x1148362C, 0x2F00EF12, 0x7E03BEEC,
129    0x0A3061F6, 0x39E8DDCE, 0x36B63511, 0x1EB76B25,
130    0x0E11A613, 0x4EBC7DD5, 0x796BA993, 0x181B8C30,
131    0x784CAEDD, 0x0E49C493, 0x66D16882, 0x5C2C0565,
132    0x1DB6F29F, 0x472897C0, 0x748DB539, 0x1C03768A,
133    0x7448CB17, 0x674D260E, 0x318CB2D4, 0x15AE8AC4,
134    0x3789ED26, 0x15B794C8, 0x65BD4A13, 0x5EB6EBD7,
135    0x0579938F, 0x15CC6748, 0x43003CBC, 0x32FFB5C5,
136    0x2DBB28DC, 0x7755B9AB, 0x18559805, 0x6DA6A652,
137    0x4C7AAEAC, 0x6181077B, 0x19DDAC3A, 0x1085712E,
138    0x0CFBC02B, 0x7921F70B, 0x454D7794, 0x51FB9B5F,
139    0x377AE5D7, 0x26B58382, 0x15016922, 0x72F01AFE,
140    0x797D87AE, 0x353ED1EE, 0x33CBA95A, 0x63693B4D,
141    0x24F1242C, 0x28446C36, 0x6BEDB406, 0x676F0BE8,
142    0x7C31C81B, 0x17F0F652, 0x0F03B701, 0x6FB0C9B4,
143    0x0AAFBAF7, 0x55CFF2FD, 0x19C90C9E, 0x358811B6,
144    0x53A5BBD6, 0x1FF5872D, 0x32A62971, 0x6F43B195,
145    0x1EEA9F9D, 0x61FE1E5B, 0x09847FB1, 0x271A02AD,
146    0x2C1951D5, 0x6D308301, 0x2835BFB9, 0x57BDF074,
147    0x37ABD0AA, 0x36C323AC, 0x667F4ECC, 0x7D4A7213,
148    0x6EA029D2, 0x1D7AA50C, 0x2CEFEE9E, 0x084667F9,
149    0x518C29DC, 0x7F369C2F, 0x483A5DE1, 0x4F6F85CE,
150    0x366DE326, 0x773047AD, 0x66B12E6C, 0x263B5634,
151    0x0277AC5D, 0x296EC763, 0x3DE0768E, 0x2CE24E9A,
152    0x38B98C79, 0x50D0361D, 0x064CAD42, 0x315F8F1B,
153    0x5B9D3B20, 0x05CAD9D3, 0x43CBC1EE, 0x6475FA94,
154    0x0774B35E, 0x3B9FD24B, 0x05CB7CA4, 0x51F42F1E,
155    0x7FFFFFFF, 0x3C9286F0, 0x0CE2271E, 0x33D1B51E,
156    0x0B3A4C4C, 0x1C886FD5, 0x612EB635, 0x2031454B,
157    0x64475EE2, 0x1E417D73, 0x173D6E35, 0x28B32076,
158    0x2E243A09, 0x450A2A80, 0x16697FAF, 0x35424805,
159    0x71D01213, 0x34CEA8A0, 0x0FB261C7, 0x5102D7BB,
160    0x023CF284, 0x72D94811, 0x561DFA82, 0x5D2C237D,
161    0x125DD473, 0x5B47135C, 0x78744D12, 0x26D79069,
162    0x061EB3CD, 0x28EB73A0, 0x15EA1F4F, 0x2725824F,
163    0x367ABDB1, 0x3142D05D, 0x5869E69E, 0x468215A4,
164    0x0A21A635, 0x2CB5D678, 0x25823571, 0x6FC2F050,
165    0x665EE758, 0x41EE4214, 0x3B33EBAC, 0x683C8453,
166    0x63E9AA61, 0x026F4985, 0x2E82C3EE, 0x7F496791,
167    0x3ABAFA39, 0x3C44D984, 0x7D6CF392, 0x52182073
168    };
169
170static const q7_t ref_q7[256] = {
171    0x4E, 0x29, 0x5C, 0x62, 0x07, 0x73, 0x71, 0x4C,
172    0x3D, 0x01, 0x52, 0x5F, 0x34, 0x7D, 0x7D, 0x16,
173    0x28, 0x6E, 0x6A, 0x4D, 0x63, 0x3F, 0x5E, 0x5F,
174    0x4F, 0x6F, 0x53, 0x39, 0x5D, 0x69, 0x56, 0x04,
175    0x5D, 0x23, 0x3B, 0x41, 0x1A, 0x77, 0x08, 0x27,
176    0x15, 0x37, 0x76, 0x54, 0x6D, 0x41, 0x5C, 0x27,
177    0x4A, 0x2A, 0x2A, 0x71, 0x67, 0x16, 0x75, 0x6C,
178    0x33, 0x2B, 0x58, 0x0C, 0x35, 0x54, 0x1A, 0x44,
179    0x69, 0x22, 0x1A, 0x4D, 0x38, 0x31, 0x56, 0x79,
180    0x4F, 0x59, 0x19, 0x34, 0x07, 0x0D, 0x6A, 0x53,
181    0x3C, 0x74, 0x15, 0x27, 0x0C, 0x5B, 0x3C, 0x5B,
182    0x60, 0x20, 0x26, 0x6D, 0x58, 0x27, 0x07, 0x20,
183    0x67, 0x11, 0x2F, 0x7E, 0x0A, 0x3A, 0x37, 0x1F,
184    0x0E, 0x4F, 0x79, 0x18, 0x78, 0x0E, 0x67, 0x5C,
185    0x1E, 0x47, 0x75, 0x1C, 0x74, 0x67, 0x32, 0x16,
186    0x38, 0x16, 0x66, 0x5F, 0x05, 0x16, 0x43, 0x33,
187    0x2E, 0x77, 0x18, 0x6E, 0x4C, 0x62, 0x1A, 0x11,
188    0x0D, 0x79, 0x45, 0x52, 0x37, 0x27, 0x15, 0x73,
189    0x79, 0x35, 0x34, 0x63, 0x25, 0x28, 0x6C, 0x67,
190    0x7C, 0x18, 0x0F, 0x70, 0x0B, 0x56, 0x1A, 0x36,
191    0x54, 0x20, 0x33, 0x6F, 0x1F, 0x62, 0x0A, 0x27,
192    0x2C, 0x6D, 0x28, 0x58, 0x38, 0x37, 0x66, 0x7D,
193    0x6F, 0x1D, 0x2D, 0x08, 0x52, 0x7F, 0x48, 0x4F,
194    0x36, 0x77, 0x67, 0x26, 0x02, 0x29, 0x3E, 0x2D,
195    0x39, 0x51, 0x06, 0x31, 0x5C, 0x06, 0x44, 0x64,
196    0x07, 0x3C, 0x06, 0x52, 0x7F, 0x3D, 0x0D, 0x34,
197    0x0B, 0x1D, 0x61, 0x20, 0x64, 0x1E, 0x17, 0x29,
198    0x2E, 0x45, 0x16, 0x35, 0x72, 0x35, 0x10, 0x51,
199    0x02, 0x73, 0x56, 0x5D, 0x12, 0x5B, 0x78, 0x27,
200    0x06, 0x29, 0x16, 0x27, 0x36, 0x31, 0x58, 0x47,
201    0x0A, 0x2D, 0x26, 0x70, 0x66, 0x42, 0x3B, 0x68,
202    0x64, 0x02, 0x2F, 0x7F, 0x3B, 0x3C, 0x7D, 0x52
203    };
204
205