blob: c31bc37b1029e254019f6011b80769ec8d1e8ca5
1 | /* ***** BEGIN LICENSE BLOCK ***** |
2 | * Source last modified: $Id: trigtabs.c,v 1.5 2005/04/27 19:20:50 hubbe Exp $ |
3 | * |
4 | * REALNETWORKS CONFIDENTIAL--NOT FOR DISTRIBUTION IN SOURCE CODE FORM |
5 | * Portions Copyright (c) 1995-2002 RealNetworks, Inc. |
6 | * All Rights Reserved. |
7 | * |
8 | * The contents of this file, and the files included with this file, |
9 | * are subject to the current version of the Real Format Source Code |
10 | * Porting and Optimization License, available at |
11 | * https://helixcommunity.org/2005/license/realformatsource (unless |
12 | * RealNetworks otherwise expressly agrees in writing that you are |
13 | * subject to a different license). You may also obtain the license |
14 | * terms directly from RealNetworks. You may not use this file except |
15 | * in compliance with the Real Format Source Code Porting and |
16 | * Optimization License. There are no redistribution rights for the |
17 | * source code of this file. Please see the Real Format Source Code |
18 | * Porting and Optimization License for the rights, obligations and |
19 | * limitations governing use of the contents of the file. |
20 | * |
21 | * RealNetworks is the developer of the Original Code and owns the |
22 | * copyrights in the portions it created. |
23 | * |
24 | * This file, and the files included with this file, is distributed and |
25 | * made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, |
26 | * EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL |
27 | * SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
28 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT |
29 | * OR NON-INFRINGEMENT. |
30 | * |
31 | * Technology Compatibility Kit Test Suite(s) Location: |
32 | * https://rarvcode-tck.helixcommunity.org |
33 | * |
34 | * Contributor(s): |
35 | * |
36 | * ***** END LICENSE BLOCK ***** */ |
37 | |
38 | /************************************************************************************** |
39 | * Fixed-point RealAudio 8 decoder |
40 | * Jon Recker (jrecker@real.com), Ken Cooke (kenc@real.com) |
41 | * October 2003 |
42 | * |
43 | * trigtabs.c - tables of sin, cos, etc. for MLT |
44 | **************************************************************************************/ |
45 | |
46 | #include "coder.h" |
47 | |
48 | const int nmltTab[NUM_MLT_SIZES] = {256, 512, 1024}; |
49 | |
50 | const int cos4sin4tabOffset[3] = {0, 256, 768}; |
51 | |
52 | /* PreMultiply() tables |
53 | * format = Q31 * 2^[-2, -3, -4] for nmlt = [256, 512, 1024] |
54 | * reordered for sequential access |
55 | * |
56 | * sqrt2divn = sqrt(2.0 / nmlt); |
57 | * for (i = 0; i < nmlt/4; i++) { |
58 | * angle = (i + 0.25) * M_PI / nmlt; |
59 | * x = sqrt2divn * (cos(angle) + sin(angle)); |
60 | * x = sqrt2divn * sin(angle); |
61 | * |
62 | * angle = (nmlt/2 - 1 - i + 0.25) * M_PI / nmlt; |
63 | * x = sqrt2divn * (cos(angle) + sin(angle)); |
64 | * x = sqrt2divn * sin(angle); |
65 | * } |
66 | */ |
67 | const int cos4sin4tab[256 + 512 + 1024] = { |
68 | /* 256 */ |
69 | 0x2d64b9da, 0x00238b03, 0x2dab5fdf, 0x2d40bf2f, 0x2df19534, 0x00b1b556, 0x2e37592c, 0x2d3e90e6, |
70 | 0x2e7cab1c, 0x013fd8d0, 0x2ec18a58, 0x2d3aa413, 0x2f05f637, 0x01cdeff5, 0x2f49ee0f, 0x2d34f8de, |
71 | 0x2f8d713a, 0x025bf54b, 0x2fd07f0f, 0x2d2d8f7d, 0x301316eb, 0x02e9e359, 0x30553828, 0x2d24683a, |
72 | 0x3096e223, 0x0377b4a4, 0x30d8143b, 0x2d19836f, 0x3118cdcf, 0x040563b7, 0x31590e3e, 0x2d0ce188, |
73 | 0x3198d4ea, 0x0492eb1a, 0x31d82137, 0x2cfe8302, 0x3216f287, 0x05204559, 0x32554840, 0x2cee6869, |
74 | 0x329321c7, 0x05ad6d00, 0x32d07e85, 0x2cdc925e, 0x330d5de3, 0x063a5c9f, 0x3349bf48, 0x2cc90190, |
75 | 0x3385a222, 0x06c70ec6, 0x33c105db, 0x2cb3b6c1, 0x33fbe9e2, 0x07537e09, 0x34364da6, 0x2c9cb2c2, |
76 | 0x34703095, 0x07dfa4fe, 0x34a99221, 0x2c83f677, 0x34e271bd, 0x086b7e3d, 0x351acedd, 0x2c6982d3, |
77 | 0x3552a8f4, 0x08f70463, 0x3589ff7a, 0x2c4d58dc, 0x35c0d1e7, 0x0982320e, 0x35f71fb1, 0x2c2f79a9, |
78 | 0x362ce855, 0x0a0d01e1, 0x36622b4c, 0x2c0fe65e, 0x3696e814, 0x0a976e82, 0x36cb1e2a, 0x2beea035, |
79 | 0x36fecd0e, 0x0b21729b, 0x3731f440, 0x2bcba876, 0x37649341, 0x0bab08d9, 0x3796a996, 0x2ba70079, |
80 | 0x37c836c2, 0x0c342bee, 0x37f93a4b, 0x2b80a9a9, 0x3829b3b9, 0x0cbcd691, 0x3859a292, 0x2b58a580, |
81 | 0x38890663, 0x0d45037e, 0x38b7deb4, 0x2b2ef588, 0x38e62b13, 0x0dccad74, 0x3913eb0e, 0x2b039b5e, |
82 | 0x39411e33, 0x0e53cf38, 0x396dc414, 0x2ad698ae, 0x3999dc42, 0x0eda6395, 0x39c5664f, 0x2aa7ef32, |
83 | 0x39f061d2, 0x0f60655a, 0x3a1ace5f, 0x2a77a0b9, 0x3a44ab8e, 0x0fe5cf5d, 0x3a6df8f8, 0x2a45af1e, |
84 | 0x3a96b636, 0x106a9c79, 0x3abee2e5, 0x2a121c4e, 0x3ae67ea1, 0x10eec790, 0x3b0d8909, 0x29dcea48, |
85 | 0x3b3401bb, 0x11724b88, 0x3b59e85a, 0x29a61b17, 0x3b7f3c87, 0x11f52351, 0x3ba3fde7, 0x296db0d8, |
86 | 0x3bc82c1f, 0x127749de, 0x3bebc6d5, 0x2933adb9, 0x3c0ecdb2, 0x12f8ba2b, 0x3c314060, 0x28f813f6, |
87 | 0x3c531e88, 0x13796f3b, 0x3c7467d9, 0x28bae5db, 0x3c951bff, 0x13f96417, 0x3cb53aaa, 0x287c25c3, |
88 | 0x3cd4c38b, 0x147893d1, 0x3cf3b653, 0x283bd61b, 0x3d1212b7, 0x14f6f981, 0x3d2fd86c, 0x27f9f95d, |
89 | 0x3d4d0728, 0x15749047, 0x3d699ea3, 0x27b69213, 0x3d859e96, 0x15f1534d, 0x3da106bd, 0x2771a2d6, |
90 | 0x3dbbd6d4, 0x166d3dc3, 0x3dd60e99, 0x272b2e4f, 0x3defadca, 0x16e84ae2, 0x3e08b42a, 0x26e33735, |
91 | 0x3e212179, 0x176275eb, 0x3e38f57c, 0x2699c04e, 0x3e502ff9, 0x17dbba29, 0x3e66d0b4, 0x264ecc6f, |
92 | 0x3e7cd778, 0x185412ef, 0x3e92440d, 0x26025e7c, 0x3ea7163f, 0x18cb7b99, 0x3ebb4ddb, 0x25b47968, |
93 | 0x3eceeaad, 0x1941ef8d, 0x3ee1ec87, 0x25652032, 0x3ef45338, 0x19b76a39, 0x3f061e95, 0x251455eb, |
94 | 0x3f174e70, 0x1a2be716, 0x3f27e29f, 0x24c21daf, 0x3f37dafa, 0x1a9f61a7, 0x3f473759, 0x246e7aab, |
95 | 0x3f55f796, 0x1b11d578, 0x3f641b8d, 0x24197017, 0x3f71a31b, 0x1b833e1e, 0x3f7e8e1e, 0x23c3013a, |
96 | 0x3f8adc77, 0x1bf3973c, 0x3f968e07, 0x236b316b, 0x3fa1a2b2, 0x1c62dc7b, 0x3fac1a5b, 0x2312040b, |
97 | 0x3fb5f4ea, 0x1cd10993, 0x3fbf3246, 0x22b77c8b, 0x3fc7d258, 0x1d3e1a43, 0x3fcfd50b, 0x225b9e68, |
98 | 0x3fd73a4a, 0x1daa0a57, 0x3fde0205, 0x21fe6d2c, 0x3fe42c2a, 0x1e14d5a5, 0x3fe9b8a9, 0x219fec71, |
99 | 0x3feea776, 0x1e7e7811, 0x3ff2f884, 0x21401fd9, 0x3ff6abc8, 0x1ee6ed86, 0x3ff9c13a, 0x20df0b17, |
100 | 0x3ffc38d1, 0x1f4e31ff, 0x3ffe1288, 0x207cb1e9, 0x3fff4e59, 0x1fb44180, 0x3fffec43, 0x2019181a, |
101 | |
102 | /* 512 */ |
103 | 0x40191d0b, 0x001921fb, 0x404b3977, 0x3fffd396, 0x407d2e39, 0x007da998, 0x40aefb34, 0x3fff0e32, |
104 | 0x40e0a049, 0x00e22fff, 0x41121d58, 0x3ffdaae7, 0x41437244, 0x0146b438, 0x41749eee, 0x3ffba9b8, |
105 | 0x41a5a337, 0x01ab354b, 0x41d67f02, 0x3ff90aaa, 0x42073231, 0x020fb240, 0x4237bca4, 0x3ff5cdc3, |
106 | 0x42681e3f, 0x02742a1f, 0x429856e4, 0x3ff1f30b, 0x42c86674, 0x02d89bf0, 0x42f84cd2, 0x3fed7a8c, |
107 | 0x432809e1, 0x033d06bb, 0x43579d83, 0x3fe86452, 0x4387079a, 0x03a16988, 0x43b6480a, 0x3fe2b067, |
108 | 0x43e55eb6, 0x0405c361, 0x44144b7f, 0x3fdc5edc, 0x44430e4b, 0x046a134c, 0x4471a6fa, 0x3fd56fbe, |
109 | 0x44a01572, 0x04ce5854, 0x44ce5994, 0x3fcde320, 0x44fc7345, 0x0532917f, 0x452a6269, 0x3fc5b913, |
110 | 0x455826e2, 0x0596bdd7, 0x4585c094, 0x3fbcf1ad, 0x45b32f64, 0x05fadc66, 0x45e07336, 0x3fb38d02, |
111 | 0x460d8bed, 0x065eec33, 0x463a796e, 0x3fa98b2a, 0x46673b9d, 0x06c2ec48, 0x4693d25e, 0x3f9eec3e, |
112 | 0x46c03d96, 0x0726dbae, 0x46ec7d29, 0x3f93b058, 0x471890fd, 0x078ab96e, 0x474478f6, 0x3f87d792, |
113 | 0x477034f8, 0x07ee8493, 0x479bc4ea, 0x3f7b620c, 0x47c728af, 0x08523c25, 0x47f2602e, 0x3f6e4fe3, |
114 | 0x481d6b4b, 0x08b5df30, 0x484849ed, 0x3f60a138, 0x4872fbf8, 0x09196cbc, 0x489d8153, 0x3f52562c, |
115 | 0x48c7d9e2, 0x097ce3d5, 0x48f2058d, 0x3f436ee3, 0x491c0438, 0x09e04385, 0x4945d5ca, 0x3f33eb81, |
116 | 0x496f7a2a, 0x0a438ad7, 0x4998f13d, 0x3f23cc2e, 0x49c23aea, 0x0aa6b8d5, 0x49eb5718, 0x3f13110f, |
117 | 0x4a1445ad, 0x0b09cc8c, 0x4a3d0690, 0x3f01ba50, 0x4a6599a7, 0x0b6cc506, 0x4a8dfeda, 0x3eefc81a, |
118 | 0x4ab63610, 0x0bcfa150, 0x4ade3f30, 0x3edd3a9a, 0x4b061a21, 0x0c326075, 0x4b2dc6cc, 0x3eca11fe, |
119 | 0x4b554516, 0x0c950182, 0x4b7c94e8, 0x3eb64e75, 0x4ba3b62a, 0x0cf78383, 0x4bcaa8c3, 0x3ea1f02f, |
120 | 0x4bf16c9c, 0x0d59e586, 0x4c18019c, 0x3e8cf75f, 0x4c3e67ac, 0x0dbc2698, 0x4c649eb4, 0x3e77643a, |
121 | 0x4c8aa69d, 0x0e1e45c6, 0x4cb07f4f, 0x3e6136f3, 0x4cd628b2, 0x0e80421e, 0x4cfba2b0, 0x3e4a6fc1, |
122 | 0x4d20ed31, 0x0ee21aaf, 0x4d46081f, 0x3e330ede, 0x4d6af362, 0x0f43ce86, 0x4d8faee3, 0x3e1b1482, |
123 | 0x4db43a8d, 0x0fa55cb4, 0x4dd89648, 0x3e0280e9, 0x4dfcc1ff, 0x1006c446, 0x4e20bd9a, 0x3de9544f, |
124 | 0x4e448903, 0x1068044e, 0x4e682425, 0x3dcf8ef3, 0x4e8b8eea, 0x10c91bda, 0x4eaec93b, 0x3db53113, |
125 | 0x4ed1d303, 0x112a09fc, 0x4ef4ac2d, 0x3d9a3af2, 0x4f1754a2, 0x118acdc4, 0x4f39cc4d, 0x3d7eacd2, |
126 | 0x4f5c131a, 0x11eb6643, 0x4f7e28f3, 0x3d6286f6, 0x4fa00dc3, 0x124bd28c, 0x4fc1c175, 0x3d45c9a4, |
127 | 0x4fe343f4, 0x12ac11af, 0x5004952c, 0x3d287523, 0x5025b508, 0x130c22c1, 0x5046a374, 0x3d0a89bc, |
128 | 0x5067605b, 0x136c04d2, 0x5087eba9, 0x3cec07b8, 0x50a8454b, 0x13cbb6f8, 0x50c86d2b, 0x3cccef62, |
129 | 0x50e86337, 0x142b3846, 0x5108275a, 0x3cad4107, 0x5127b981, 0x148a87d1, 0x51471999, 0x3c8cfcf6, |
130 | 0x5166478e, 0x14e9a4ac, 0x5185434c, 0x3c6c237e, 0x51a40cc2, 0x15488dee, 0x51c2a3db, 0x3c4ab4ef, |
131 | 0x51e10886, 0x15a742ac, 0x51ff3aae, 0x3c28b19e, 0x521d3a42, 0x1605c1fd, 0x523b072f, 0x3c0619dc, |
132 | 0x5258a163, 0x16640af7, 0x527608cb, 0x3be2ee01, 0x52933d56, 0x16c21cb2, 0x52b03ef1, 0x3bbf2e62, |
133 | 0x52cd0d8a, 0x171ff646, 0x52e9a910, 0x3b9adb57, 0x53061170, 0x177d96ca, 0x5322469a, 0x3b75f53c, |
134 | 0x533e487d, 0x17dafd59, 0x535a1705, 0x3b507c69, 0x5375b224, 0x1838290c, 0x539119c7, 0x3b2a713d, |
135 | 0x53ac4dde, 0x189518fc, 0x53c74e58, 0x3b03d414, 0x53e21b23, 0x18f1cc45, 0x53fcb431, 0x3adca54e, |
136 | 0x54171970, 0x194e4201, 0x54314ad0, 0x3ab4e54c, 0x544b4841, 0x19aa794d, 0x546511b2, 0x3a8c9470, |
137 | 0x547ea715, 0x1a067145, 0x54980858, 0x3a63b31d, 0x54b1356d, 0x1a622907, 0x54ca2e44, 0x3a3a41b9, |
138 | 0x54e2f2ce, 0x1abd9faf, 0x54fb82fb, 0x3a1040a8, 0x5513debc, 0x1b18d45c, 0x552c0602, 0x39e5b054, |
139 | 0x5543f8be, 0x1b73c62d, 0x555bb6e2, 0x39ba9125, 0x5573405f, 0x1bce7442, 0x558a9525, 0x398ee385, |
140 | 0x55a1b528, 0x1c28ddbb, 0x55b8a058, 0x3962a7e0, 0x55cf56a8, 0x1c8301b9, 0x55e5d809, 0x3935dea4, |
141 | 0x55fc246e, 0x1cdcdf5e, 0x56123bc8, 0x3908883f, 0x56281e0b, 0x1d3675cb, 0x563dcb28, 0x38daa520, |
142 | 0x56534313, 0x1d8fc424, 0x566885be, 0x38ac35ba, 0x567d931b, 0x1de8c98c, 0x56926b1f, 0x387d3a7e, |
143 | 0x56a70dbc, 0x1e418528, 0x56bb7ae5, 0x384db3e0, 0x56cfb28e, 0x1e99f61d, 0x56e3b4aa, 0x381da256, |
144 | 0x56f7812e, 0x1ef21b90, 0x570b180c, 0x37ed0657, 0x571e7938, 0x1f49f4a8, 0x5731a4a8, 0x37bbe05a, |
145 | 0x57449a4e, 0x1fa1808c, 0x57575a20, 0x378a30d8, 0x5769e411, 0x1ff8be65, 0x577c3816, 0x3757f84c, |
146 | 0x578e5625, 0x204fad5b, 0x57a03e31, 0x37253733, 0x57b1f02f, 0x20a64c97, 0x57c36c16, 0x36f1ee09, |
147 | 0x57d4b1d9, 0x20fc9b44, 0x57e5c16f, 0x36be1d4c, 0x57f69acc, 0x2152988d, 0x58073de7, 0x3689c57d, |
148 | 0x5817aab5, 0x21a8439e, 0x5827e12d, 0x3654e71d, 0x5837e143, 0x21fd9ba3, 0x5847aaee, 0x361f82af, |
149 | 0x58573e25, 0x22529fca, 0x58669add, 0x35e998b5, 0x5875c10e, 0x22a74f40, 0x5884b0ad, 0x35b329b5, |
150 | 0x589369b3, 0x22fba936, 0x58a1ec15, 0x357c3636, 0x58b037cb, 0x234facda, 0x58be4ccc, 0x3544bebf, |
151 | 0x58cc2b0f, 0x23a3595e, 0x58d9d28b, 0x350cc3d8, 0x58e74339, 0x23f6adf3, 0x58f47d10, 0x34d4460c, |
152 | 0x59018008, 0x2449a9cc, 0x590e4c18, 0x349b45e7, 0x591ae13a, 0x249c4c1b, 0x59273f64, 0x3461c3f5, |
153 | 0x59336690, 0x24ee9415, 0x593f56b6, 0x3427c0c3, 0x594b0fce, 0x254080ef, 0x595691d2, 0x33ed3ce1, |
154 | 0x5961dcba, 0x259211df, 0x596cf080, 0x33b238e0, 0x5977cd1c, 0x25e3461b, 0x59827288, 0x3376b551, |
155 | 0x598ce0bd, 0x26341cdb, 0x599717b5, 0x333ab2c6, 0x59a11769, 0x26849558, 0x59aadfd4, 0x32fe31d5, |
156 | 0x59b470ef, 0x26d4aecb, 0x59bdcab4, 0x32c13311, 0x59c6ed1e, 0x2724686e, 0x59cfd827, 0x3283b712, |
157 | 0x59d88bc9, 0x2773c17d, 0x59e10800, 0x3245be70, 0x59e94cc5, 0x27c2b934, 0x59f15a15, 0x320749c3, |
158 | 0x59f92fe9, 0x28114ed0, 0x5a00ce3d, 0x31c859a5, 0x5a08350c, 0x285f8190, 0x5a0f6452, 0x3188eeb2, |
159 | 0x5a165c0a, 0x28ad50b1, 0x5a1d1c31, 0x31490986, 0x5a23a4c1, 0x28fabb75, 0x5a29f5b7, 0x3108aabf, |
160 | 0x5a300f0f, 0x2947c11c, 0x5a35f0c5, 0x30c7d2fb, 0x5a3b9ad5, 0x299460e8, 0x5a410d3c, 0x308682dc, |
161 | 0x5a4647f8, 0x29e09a1c, 0x5a4b4b03, 0x3044bb00, 0x5a50165c, 0x2a2c6bfd, 0x5a54a9ff, 0x30027c0c, |
162 | 0x5a5905ea, 0x2a77d5ce, 0x5a5d2a1a, 0x2fbfc6a3, 0x5a61168c, 0x2ac2d6d6, 0x5a64cb3e, 0x2f7c9b69, |
163 | 0x5a68482d, 0x2b0d6e5c, 0x5a6b8d58, 0x2f38fb03, 0x5a6e9abd, 0x2b579ba8, 0x5a717059, 0x2ef4e619, |
164 | 0x5a740e2a, 0x2ba15e03, 0x5a767430, 0x2eb05d53, 0x5a78a269, 0x2beab4b6, 0x5a7a98d3, 0x2e6b615a, |
165 | 0x5a7c576d, 0x2c339f0e, 0x5a7dde36, 0x2e25f2d8, 0x5a7f2d2e, 0x2c7c1c55, 0x5a804453, 0x2de01278, |
166 | 0x5a8123a4, 0x2cc42bd9, 0x5a81cb21, 0x2d99c0e7, 0x5a823acb, 0x2d0bcce8, 0x5a82729f, 0x2d52fed2, |
167 | |
168 | /* 1024 */ |
169 | 0x5a943d5e, 0x0011c583, 0x5ab7ba6c, 0x5a8269e6, 0x5adb297d, 0x0058db81, 0x5afe8a8b, 0x5a82241c, |
170 | 0x5b21dd90, 0x009ff149, 0x5b452288, 0x5a81a67e, 0x5b68596d, 0x00e706ad, 0x5b8b8239, 0x5a80f10b, |
171 | 0x5bae9ce7, 0x012e1b84, 0x5bd1a971, 0x5a8003c5, 0x5bf4a7d2, 0x01752fa0, 0x5c179806, 0x5a7edeac, |
172 | 0x5c3a7a05, 0x01bc42d5, 0x5c5d4dcc, 0x5a7d81c0, 0x5c801354, 0x020354f9, 0x5ca2ca99, 0x5a7bed02, |
173 | 0x5cc57394, 0x024a65df, 0x5ce80e41, 0x5a7a2074, 0x5d0a9a9a, 0x0291755b, 0x5d2d189a, 0x5a781c16, |
174 | 0x5d4f883b, 0x02d88342, 0x5d71e979, 0x5a75dfea, 0x5d943c4e, 0x031f8f67, 0x5db680b4, 0x5a736bf1, |
175 | 0x5dd8b6a7, 0x0366999f, 0x5dfade20, 0x5a70c02c, 0x5e1cf71c, 0x03ada1bd, 0x5e3f0194, 0x5a6ddc9e, |
176 | 0x5e60fd84, 0x03f4a798, 0x5e82eae5, 0x5a6ac148, 0x5ea4c9b3, 0x043bab01, 0x5ec699e9, 0x5a676e2c, |
177 | 0x5ee85b82, 0x0482abce, 0x5f0a0e77, 0x5a63e34b, 0x5f2bb2c5, 0x04c9a9d3, 0x5f4d4865, 0x5a6020a9, |
178 | 0x5f6ecf53, 0x0510a4e3, 0x5f90478a, 0x5a5c2648, 0x5fb1b104, 0x05579cd4, 0x5fd30bbc, 0x5a57f429, |
179 | 0x5ff457ad, 0x059e9179, 0x601594d1, 0x5a538a50, 0x6036c325, 0x05e582a7, 0x6057e2a2, 0x5a4ee8bf, |
180 | 0x6078f344, 0x062c7032, 0x6099f505, 0x5a4a0f79, 0x60bae7e1, 0x067359ed, 0x60dbcbd1, 0x5a44fe81, |
181 | 0x60fca0d2, 0x06ba3faf, 0x611d66de, 0x5a3fb5db, 0x613e1df0, 0x07012149, 0x615ec603, 0x5a3a3589, |
182 | 0x617f5f12, 0x0747fe92, 0x619fe918, 0x5a347d8e, 0x61c06410, 0x078ed75d, 0x61e0cff5, 0x5a2e8df0, |
183 | 0x62012cc2, 0x07d5ab7e, 0x62217a72, 0x5a2866b0, 0x6241b8ff, 0x081c7aca, 0x6261e866, 0x5a2207d3, |
184 | 0x628208a1, 0x08634516, 0x62a219aa, 0x5a1b715d, 0x62c21b7e, 0x08aa0a35, 0x62e20e17, 0x5a14a352, |
185 | 0x6301f171, 0x08f0c9fb, 0x6321c585, 0x5a0d9db6, 0x63418a50, 0x0937843e, 0x63613fcd, 0x5a06608d, |
186 | 0x6380e5f6, 0x097e38d1, 0x63a07cc7, 0x59feebdc, 0x63c0043b, 0x09c4e789, 0x63df7c4d, 0x59f73fa8, |
187 | 0x63fee4f8, 0x0a0b903b, 0x641e3e38, 0x59ef5bf4, 0x643d8806, 0x0a5232ba, 0x645cc260, 0x59e740c7, |
188 | 0x647bed3f, 0x0a98cedb, 0x649b08a0, 0x59deee25, 0x64ba147d, 0x0adf6473, 0x64d910d1, 0x59d66413, |
189 | 0x64f7fd98, 0x0b25f356, 0x6516dacd, 0x59cda296, 0x6535a86b, 0x0b6c7b59, 0x6554666d, 0x59c4a9b4, |
190 | 0x657314cf, 0x0bb2fc50, 0x6591b38c, 0x59bb7973, 0x65b0429f, 0x0bf9760f, 0x65cec204, 0x59b211d8, |
191 | 0x65ed31b5, 0x0c3fe86b, 0x660b91af, 0x59a872e8, 0x6629e1ec, 0x0c865339, 0x66482267, 0x599e9cab, |
192 | 0x6666531d, 0x0cccb64d, 0x66847408, 0x59948f25, 0x66a28524, 0x0d13117c, 0x66c0866d, 0x598a4a5d, |
193 | 0x66de77dc, 0x0d59649a, 0x66fc596f, 0x597fce5a, 0x671a2b20, 0x0d9faf7c, 0x6737ecea, 0x59751b21, |
194 | 0x67559eca, 0x0de5f1f7, 0x677340ba, 0x596a30ba, 0x6790d2b6, 0x0e2c2bdf, 0x67ae54ba, 0x595f0f2b, |
195 | 0x67cbc6c0, 0x0e725d09, 0x67e928c5, 0x5953b67c, 0x68067ac3, 0x0eb88549, 0x6823bcb7, 0x594826b2, |
196 | 0x6840ee9b, 0x0efea475, 0x685e106c, 0x593c5fd5, 0x687b2224, 0x0f44ba62, 0x689823bf, 0x593061ed, |
197 | 0x68b5153a, 0x0f8ac6e3, 0x68d1f68f, 0x59242d01, 0x68eec7b9, 0x0fd0c9cd, 0x690b88b5, 0x5917c118, |
198 | 0x6928397e, 0x1016c2f7, 0x6944da10, 0x590b1e3a, 0x69616a65, 0x105cb233, 0x697dea7b, 0x58fe446f, |
199 | 0x699a5a4c, 0x10a29758, 0x69b6b9d3, 0x58f133bf, 0x69d3090e, 0x10e8723a, 0x69ef47f6, 0x58e3ec32, |
200 | 0x6a0b7689, 0x112e42ae, 0x6a2794c1, 0x58d66dcf, 0x6a43a29a, 0x11740889, 0x6a5fa010, 0x58c8b8a0, |
201 | 0x6a7b8d1e, 0x11b9c3a0, 0x6a9769c1, 0x58baccad, 0x6ab335f4, 0x11ff73c7, 0x6acef1b2, 0x58aca9fe, |
202 | 0x6aea9cf8, 0x124518d5, 0x6b0637c1, 0x589e509c, 0x6b21c208, 0x128ab29d, 0x6b3d3bcb, 0x588fc090, |
203 | 0x6b58a503, 0x12d040f6, 0x6b73fdae, 0x5880f9e4, 0x6b8f45c7, 0x1315c3b3, 0x6baa7d49, 0x5871fc9f, |
204 | 0x6bc5a431, 0x135b3aab, 0x6be0ba7b, 0x5862c8cb, 0x6bfbc021, 0x13a0a5b2, 0x6c16b521, 0x58535e72, |
205 | 0x6c319975, 0x13e6049e, 0x6c4c6d1a, 0x5843bd9e, 0x6c67300b, 0x142b5743, 0x6c81e245, 0x5833e657, |
206 | 0x6c9c83c3, 0x14709d78, 0x6cb71482, 0x5823d8a7, 0x6cd1947c, 0x14b5d711, 0x6cec03af, 0x5813949a, |
207 | 0x6d066215, 0x14fb03e3, 0x6d20afac, 0x58031a37, 0x6d3aec6e, 0x154023c4, 0x6d551858, 0x57f2698b, |
208 | 0x6d6f3365, 0x15853689, 0x6d893d93, 0x57e1829e, 0x6da336dc, 0x15ca3c08, 0x6dbd1f3c, 0x57d0657c, |
209 | 0x6dd6f6b1, 0x160f3417, 0x6df0bd35, 0x57bf122f, 0x6e0a72c5, 0x16541e89, 0x6e24175c, 0x57ad88c1, |
210 | 0x6e3daaf8, 0x1698fb36, 0x6e572d93, 0x579bc93e, 0x6e709f2a, 0x16ddc9f2, 0x6e89ffb9, 0x5789d3b1, |
211 | 0x6ea34f3d, 0x17228a93, 0x6ebc8db0, 0x5777a824, 0x6ed5bb10, 0x17673cef, 0x6eeed758, 0x576546a2, |
212 | 0x6f07e285, 0x17abe0dc, 0x6f20dc92, 0x5752af38, 0x6f39c57d, 0x17f0762e, 0x6f529d40, 0x573fe1f0, |
213 | 0x6f6b63d8, 0x1834fcbc, 0x6f841942, 0x572cded6, 0x6f9cbd79, 0x1879745b, 0x6fb5507a, 0x5719a5f6, |
214 | 0x6fcdd241, 0x18bddce1, 0x6fe642ca, 0x5706375c, 0x6ffea212, 0x19023625, 0x7016f014, 0x56f29314, |
215 | 0x702f2ccd, 0x19467ffb, 0x70475839, 0x56deb929, 0x705f7255, 0x198aba3a, 0x70777b1c, 0x56caa9a8, |
216 | 0x708f728b, 0x19cee4b7, 0x70a7589f, 0x56b6649e, 0x70bf2d53, 0x1a12ff49, 0x70d6f0a4, 0x56a1ea17, |
217 | 0x70eea28e, 0x1a5709c6, 0x7106430e, 0x568d3a1f, 0x711dd220, 0x1a9b0403, 0x71354fc0, 0x567854c4, |
218 | 0x714cbbeb, 0x1adeedd7, 0x7164169d, 0x56633a12, 0x717b5fd3, 0x1b22c717, 0x71929789, 0x564dea16, |
219 | 0x71a9bdba, 0x1b668f9a, 0x71c0d265, 0x563864dd, 0x71d7d585, 0x1baa4737, 0x71eec716, 0x5622aa75, |
220 | 0x7205a716, 0x1bededc2, 0x721c7580, 0x560cbaeb, 0x72333251, 0x1c318314, 0x7249dd86, 0x55f6964d, |
221 | 0x7260771b, 0x1c750701, 0x7276ff0d, 0x55e03ca8, 0x728d7557, 0x1cb87960, 0x72a3d9f7, 0x55c9ae0a, |
222 | 0x72ba2cea, 0x1cfbda08, 0x72d06e2b, 0x55b2ea81, 0x72e69db7, 0x1d3f28cf, 0x72fcbb8c, 0x559bf21a, |
223 | 0x7312c7a5, 0x1d82658c, 0x7328c1ff, 0x5584c4e5, 0x733eaa96, 0x1dc59015, 0x73548168, 0x556d62f0, |
224 | 0x736a4671, 0x1e08a840, 0x737ff9ae, 0x5555cc48, 0x73959b1b, 0x1e4bade4, 0x73ab2ab4, 0x553e00fd, |
225 | 0x73c0a878, 0x1e8ea0d9, 0x73d61461, 0x5526011d, 0x73eb6e6e, 0x1ed180f4, 0x7400b69a, 0x550dccb7, |
226 | 0x7415ece2, 0x1f144e0d, 0x742b1144, 0x54f563d9, 0x744023bc, 0x1f5707f9, 0x74552446, 0x54dcc694, |
227 | 0x746a12df, 0x1f99ae91, 0x747eef85, 0x54c3f4f5, 0x7493ba34, 0x1fdc41aa, 0x74a872e8, 0x54aaef0d, |
228 | 0x74bd199f, 0x201ec11d, 0x74d1ae55, 0x5491b4eb, 0x74e63108, 0x20612cbf, 0x74faa1b3, 0x5478469e, |
229 | 0x750f0054, 0x20a38468, 0x75234ce8, 0x545ea437, 0x7537876c, 0x20e5c7ee, 0x754bafdc, 0x5444cdc4, |
230 | 0x755fc635, 0x2127f72a, 0x7573ca75, 0x542ac356, 0x7587bc98, 0x216a11f2, 0x759b9c9b, 0x541084fc, |
231 | 0x75af6a7b, 0x21ac181e, 0x75c32634, 0x53f612c8, 0x75d6cfc5, 0x21ee0984, 0x75ea672a, 0x53db6cca, |
232 | 0x75fdec60, 0x222fe5fc, 0x76115f63, 0x53c09311, 0x7624c031, 0x2271ad5e, 0x76380ec8, 0x53a585ae, |
233 | 0x764b4b23, 0x22b35f80, 0x765e7540, 0x538a44b3, 0x76718d1c, 0x22f4fc3b, 0x768492b4, 0x536ed02f, |
234 | 0x76978605, 0x23368365, 0x76aa670d, 0x53532835, 0x76bd35c7, 0x2377f4d7, 0x76cff232, 0x53374cd4, |
235 | 0x76e29c4b, 0x23b95068, 0x76f5340e, 0x531b3e1e, 0x7707b979, 0x23fa95f0, 0x771a2c88, 0x52fefc25, |
236 | 0x772c8d3a, 0x243bc546, 0x773edb8b, 0x52e286f9, 0x77511778, 0x247cde42, 0x776340ff, 0x52c5dead, |
237 | 0x7775581d, 0x24bde0bd, 0x77875cce, 0x52a90351, 0x77994f11, 0x24fecc8d, 0x77ab2ee2, 0x528bf4f9, |
238 | 0x77bcfc3f, 0x253fa18c, 0x77ceb725, 0x526eb3b5, 0x77e05f91, 0x25805f90, 0x77f1f581, 0x52513f99, |
239 | 0x780378f1, 0x25c10672, 0x7814e9df, 0x523398b5, 0x78264849, 0x2601960b, 0x7837942b, 0x5215bf1c, |
240 | 0x7848cd83, 0x26420e32, 0x7859f44f, 0x51f7b2e1, 0x786b088c, 0x26826ebf, 0x787c0a36, 0x51d97417, |
241 | 0x788cf94c, 0x26c2b78b, 0x789dd5cb, 0x51bb02cf, 0x78ae9fb0, 0x2702e86e, 0x78bf56f9, 0x519c5f1d, |
242 | 0x78cffba3, 0x27430141, 0x78e08dab, 0x517d8913, 0x78f10d0f, 0x278301dc, 0x790179cd, 0x515e80c5, |
243 | 0x7911d3e2, 0x27c2ea18, 0x79221b4b, 0x513f4645, 0x79325006, 0x2802b9cc, 0x79427210, 0x511fd9a8, |
244 | 0x79528167, 0x284270d3, 0x79627e08, 0x51003b00, 0x797267f2, 0x28820f04, 0x79823f20, 0x50e06a61, |
245 | 0x79920392, 0x28c19438, 0x79a1b545, 0x50c067de, 0x79b15435, 0x29010048, 0x79c0e062, 0x50a0338c, |
246 | 0x79d059c8, 0x2940530d, 0x79dfc064, 0x507fcd7d, 0x79ef1436, 0x297f8c60, 0x79fe5539, 0x505f35c7, |
247 | 0x7a0d836d, 0x29beac1a, 0x7a1c9ece, 0x503e6c7d, 0x7a2ba75a, 0x29fdb213, 0x7a3a9d0f, 0x501d71b3, |
248 | 0x7a497feb, 0x2a3c9e26, 0x7a584feb, 0x4ffc457e, 0x7a670d0d, 0x2a7b702b, 0x7a75b74f, 0x4fdae7f2, |
249 | 0x7a844eae, 0x2aba27fc, 0x7a92d329, 0x4fb95925, 0x7aa144bc, 0x2af8c571, 0x7aafa367, 0x4f979929, |
250 | 0x7abdef25, 0x2b374865, 0x7acc27f7, 0x4f75a815, 0x7ada4dd8, 0x2b75b0b0, 0x7ae860c7, 0x4f5385fd, |
251 | 0x7af660c2, 0x2bb3fe2c, 0x7b044dc7, 0x4f3132f7, 0x7b1227d3, 0x2bf230b3, 0x7b1feee5, 0x4f0eaf17, |
252 | 0x7b2da2fa, 0x2c30481e, 0x7b3b4410, 0x4eebfa72, 0x7b48d225, 0x2c6e4447, 0x7b564d36, 0x4ec9151f, |
253 | 0x7b63b543, 0x2cac2509, 0x7b710a49, 0x4ea5ff33, 0x7b7e4c45, 0x2ce9ea3b, 0x7b8b7b36, 0x4e82b8c3, |
254 | 0x7b989719, 0x2d2793b9, 0x7ba59fee, 0x4e5f41e5, 0x7bb295b0, 0x2d65215d, 0x7bbf7860, 0x4e3b9aaf, |
255 | 0x7bcc47fa, 0x2da29300, 0x7bd9047c, 0x4e17c337, 0x7be5ade6, 0x2ddfe87d, 0x7bf24434, 0x4df3bb93, |
256 | 0x7bfec765, 0x2e1d21ae, 0x7c0b3777, 0x4dcf83d9, 0x7c179467, 0x2e5a3e6c, 0x7c23de35, 0x4dab1c20, |
257 | 0x7c3014de, 0x2e973e93, 0x7c3c3860, 0x4d86847e, 0x7c4848ba, 0x2ed421fd, 0x7c5445e9, 0x4d61bd0a, |
258 | 0x7c602fec, 0x2f10e883, 0x7c6c06c0, 0x4d3cc5da, 0x7c77ca65, 0x2f4d9202, 0x7c837ad8, 0x4d179f06, |
259 | 0x7c8f1817, 0x2f8a1e52, 0x7c9aa221, 0x4cf248a3, 0x7ca618f3, 0x2fc68d4f, 0x7cb17c8d, 0x4cccc2ca, |
260 | 0x7cbcccec, 0x3002ded4, 0x7cc80a0f, 0x4ca70d91, 0x7cd333f3, 0x303f12bc, 0x7cde4a98, 0x4c81290f, |
261 | 0x7ce94dfb, 0x307b28e0, 0x7cf43e1a, 0x4c5b155c, 0x7cff1af5, 0x30b7211d, 0x7d09e489, 0x4c34d290, |
262 | 0x7d149ad5, 0x30f2fb4d, 0x7d1f3dd6, 0x4c0e60c2, 0x7d29cd8c, 0x312eb74b, 0x7d3449f5, 0x4be7c009, |
263 | 0x7d3eb30f, 0x316a54f3, 0x7d4908d9, 0x4bc0f07e, 0x7d534b50, 0x31a5d41f, 0x7d5d7a74, 0x4b99f238, |
264 | 0x7d679642, 0x31e134ac, 0x7d719eba, 0x4b72c550, 0x7d7b93da, 0x321c7673, 0x7d85759f, 0x4b4b69de, |
265 | 0x7d8f4409, 0x32579951, 0x7d98ff17, 0x4b23dff9, 0x7da2a6c6, 0x32929d22, 0x7dac3b15, 0x4afc27bb, |
266 | 0x7db5bc02, 0x32cd81c1, 0x7dbf298d, 0x4ad4413c, 0x7dc883b4, 0x33084709, 0x7dd1ca75, 0x4aac2c94, |
267 | 0x7ddafdce, 0x3342ecd6, 0x7de41dc0, 0x4a83e9dc, 0x7ded2a47, 0x337d7304, 0x7df62362, 0x4a5b792e, |
268 | 0x7dff0911, 0x33b7d970, 0x7e07db52, 0x4a32daa1, 0x7e109a24, 0x33f21ff4, 0x7e194584, 0x4a0a0e4f, |
269 | 0x7e21dd73, 0x342c466e, 0x7e2a61ed, 0x49e11452, 0x7e32d2f4, 0x34664cb9, 0x7e3b3083, 0x49b7ecc2, |
270 | 0x7e437a9c, 0x34a032b1, 0x7e4bb13c, 0x498e97b9, 0x7e53d462, 0x34d9f833, 0x7e5be40c, 0x49651550, |
271 | 0x7e63e03b, 0x35139d1b, 0x7e6bc8eb, 0x493b65a2, 0x7e739e1d, 0x354d2145, 0x7e7b5fce, 0x491188c6, |
272 | 0x7e830dff, 0x3586848e, 0x7e8aa8ac, 0x48e77ed9, 0x7e922fd6, 0x35bfc6d3, 0x7e99a37c, 0x48bd47f3, |
273 | 0x7ea1039b, 0x35f8e7f0, 0x7ea85033, 0x4892e42e, 0x7eaf8943, 0x3631e7c3, 0x7eb6aeca, 0x486853a5, |
274 | 0x7ebdc0c6, 0x366ac627, 0x7ec4bf36, 0x483d9672, 0x7ecbaa1a, 0x36a382fa, 0x7ed28171, 0x4812acaf, |
275 | 0x7ed94538, 0x36dc1e19, 0x7edff570, 0x47e79676, 0x7ee69217, 0x37149760, 0x7eed1b2c, 0x47bc53e3, |
276 | 0x7ef390ae, 0x374ceeae, 0x7ef9f29d, 0x4790e510, 0x7f0040f6, 0x378523df, 0x7f067bba, 0x47654a18, |
277 | 0x7f0ca2e7, 0x37bd36d1, 0x7f12b67c, 0x47398316, 0x7f18b679, 0x37f52760, 0x7f1ea2dc, 0x470d9024, |
278 | 0x7f247ba5, 0x382cf56c, 0x7f2a40d2, 0x46e1715d, 0x7f2ff263, 0x3864a0d0, 0x7f359057, 0x46b526de, |
279 | 0x7f3b1aad, 0x389c296b, 0x7f409164, 0x4688b0c1, 0x7f45f47b, 0x38d38f1b, 0x7f4b43f2, 0x465c0f22, |
280 | 0x7f507fc7, 0x390ad1bd, 0x7f55a7fa, 0x462f421c, 0x7f5abc8a, 0x3941f12f, 0x7f5fbd77, 0x460249cb, |
281 | 0x7f64aabf, 0x3978ed4f, 0x7f698461, 0x45d5264b, 0x7f6e4a5e, 0x39afc5fc, 0x7f72fcb4, 0x45a7d7b7, |
282 | 0x7f779b62, 0x39e67b13, 0x7f7c2668, 0x457a5e2c, 0x7f809dc5, 0x3a1d0c73, 0x7f850179, 0x454cb9c5, |
283 | 0x7f895182, 0x3a5379fa, 0x7f8d8de1, 0x451eea9f, 0x7f91b694, 0x3a89c387, 0x7f95cb9a, 0x44f0f0d5, |
284 | 0x7f99ccf4, 0x3abfe8f8, 0x7f9dbaa0, 0x44c2cc85, 0x7fa1949e, 0x3af5ea2b, 0x7fa55aee, 0x44947dcb, |
285 | 0x7fa90d8e, 0x3b2bc700, 0x7facac7f, 0x446604c2, 0x7fb037bf, 0x3b617f55, 0x7fb3af4e, 0x44376189, |
286 | 0x7fb7132b, 0x3b971308, 0x7fba6357, 0x4408943c, 0x7fbd9fd0, 0x3bcc81fa, 0x7fc0c896, 0x43d99cf7, |
287 | 0x7fc3dda9, 0x3c01cc08, 0x7fc6df08, 0x43aa7bd8, 0x7fc9ccb2, 0x3c36f113, 0x7fcca6a7, 0x437b30fb, |
288 | 0x7fcf6ce8, 0x3c6bf0f9, 0x7fd21f72, 0x434bbc7e, 0x7fd4be46, 0x3ca0cb9a, 0x7fd74964, 0x431c1e7e, |
289 | 0x7fd9c0ca, 0x3cd580d4, 0x7fdc247a, 0x42ec5719, 0x7fde7471, 0x3d0a1088, 0x7fe0b0b1, 0x42bc666b, |
290 | 0x7fe2d938, 0x3d3e7a95, 0x7fe4ee06, 0x428c4c93, 0x7fe6ef1c, 0x3d72bedb, 0x7fe8dc78, 0x425c09ae, |
291 | 0x7feab61a, 0x3da6dd39, 0x7fec7c02, 0x422b9ddb, 0x7fee2e30, 0x3ddad590, 0x7fefcca4, 0x41fb0935, |
292 | 0x7ff1575d, 0x3e0ea7bf, 0x7ff2ce5b, 0x41ca4bdd, 0x7ff4319d, 0x3e4253a6, 0x7ff58125, 0x419965f0, |
293 | 0x7ff6bcf0, 0x3e75d926, 0x7ff7e500, 0x4168578b, 0x7ff8f954, 0x3ea9381e, 0x7ff9f9ec, 0x413720ce, |
294 | 0x7ffae6c7, 0x3edc7070, 0x7ffbbfe6, 0x4105c1d6, 0x7ffc8549, 0x3f0f81fb, 0x7ffd36ee, 0x40d43ac3, |
295 | 0x7ffdd4d7, 0x3f426c9f, 0x7ffe5f03, 0x40a28bb2, 0x7ffed572, 0x3f75303e, 0x7fff3824, 0x4070b4c2, |
296 | 0x7fff8719, 0x3fa7ccb9, 0x7fffc251, 0x403eb613, 0x7fffe9cb, 0x3fda41ef, 0x7ffffd88, 0x400c8fc2, |
297 | }; |
298 | |
299 | /* PostMultiply() tables |
300 | * format = Q31 |
301 | * reordered for sequential access |
302 | * decimate (skip by 4 or 8) for smaller transforms (512, 256) |
303 | * |
304 | * for (i = 0; i <= (512/2); i++) { |
305 | * angle = i * M_PI / 1024; |
306 | * x = 0.5*(cos(angle) + sin(angle)); |
307 | * x = 0.5*sin(angle); |
308 | * } |
309 | */ |
310 | const int cos1sin1tab[514] = { |
311 | 0x40000000, 0x00000000, 0x40323034, 0x003243f1, 0x406438cf, 0x006487c4, 0x409619b2, 0x0096cb58, |
312 | 0x40c7d2bd, 0x00c90e90, 0x40f963d3, 0x00fb514b, 0x412accd4, 0x012d936c, 0x415c0da3, 0x015fd4d2, |
313 | 0x418d2621, 0x0192155f, 0x41be162f, 0x01c454f5, 0x41eeddaf, 0x01f69373, 0x421f7c84, 0x0228d0bb, |
314 | 0x424ff28f, 0x025b0caf, 0x42803fb2, 0x028d472e, 0x42b063d0, 0x02bf801a, 0x42e05ecb, 0x02f1b755, |
315 | 0x43103085, 0x0323ecbe, 0x433fd8e1, 0x03562038, 0x436f57c1, 0x038851a2, 0x439ead09, 0x03ba80df, |
316 | 0x43cdd89a, 0x03ecadcf, 0x43fcda59, 0x041ed854, 0x442bb227, 0x0451004d, 0x445a5fe8, 0x0483259d, |
317 | 0x4488e37f, 0x04b54825, 0x44b73ccf, 0x04e767c5, 0x44e56bbd, 0x0519845e, 0x4513702a, 0x054b9dd3, |
318 | 0x454149fc, 0x057db403, 0x456ef916, 0x05afc6d0, 0x459c7d5a, 0x05e1d61b, 0x45c9d6af, 0x0613e1c5, |
319 | 0x45f704f7, 0x0645e9af, 0x46240816, 0x0677edbb, 0x4650dff1, 0x06a9edc9, 0x467d8c6d, 0x06dbe9bb, |
320 | 0x46aa0d6d, 0x070de172, 0x46d662d6, 0x073fd4cf, 0x47028c8d, 0x0771c3b3, 0x472e8a76, 0x07a3adff, |
321 | 0x475a5c77, 0x07d59396, 0x47860275, 0x08077457, 0x47b17c54, 0x08395024, 0x47dcc9f9, 0x086b26de, |
322 | 0x4807eb4b, 0x089cf867, 0x4832e02d, 0x08cec4a0, 0x485da887, 0x09008b6a, 0x4888443d, 0x09324ca7, |
323 | 0x48b2b335, 0x09640837, 0x48dcf556, 0x0995bdfd, 0x49070a84, 0x09c76dd8, 0x4930f2a6, 0x09f917ac, |
324 | 0x495aada2, 0x0a2abb59, 0x49843b5f, 0x0a5c58c0, 0x49ad9bc2, 0x0a8defc3, 0x49d6ceb3, 0x0abf8043, |
325 | 0x49ffd417, 0x0af10a22, 0x4a28abd6, 0x0b228d42, 0x4a5155d6, 0x0b540982, 0x4a79d1ff, 0x0b857ec7, |
326 | 0x4aa22036, 0x0bb6ecef, 0x4aca4065, 0x0be853de, 0x4af23270, 0x0c19b374, 0x4b19f641, 0x0c4b0b94, |
327 | 0x4b418bbe, 0x0c7c5c1e, 0x4b68f2cf, 0x0cada4f5, 0x4b902b5c, 0x0cdee5f9, 0x4bb7354d, 0x0d101f0e, |
328 | 0x4bde1089, 0x0d415013, 0x4c04bcf8, 0x0d7278eb, 0x4c2b3a84, 0x0da39978, 0x4c518913, 0x0dd4b19a, |
329 | 0x4c77a88e, 0x0e05c135, 0x4c9d98de, 0x0e36c82a, 0x4cc359ec, 0x0e67c65a, 0x4ce8eb9f, 0x0e98bba7, |
330 | 0x4d0e4de2, 0x0ec9a7f3, 0x4d33809c, 0x0efa8b20, 0x4d5883b7, 0x0f2b650f, 0x4d7d571c, 0x0f5c35a3, |
331 | 0x4da1fab5, 0x0f8cfcbe, 0x4dc66e6a, 0x0fbdba40, 0x4deab226, 0x0fee6e0d, 0x4e0ec5d1, 0x101f1807, |
332 | 0x4e32a956, 0x104fb80e, 0x4e565c9f, 0x10804e06, 0x4e79df95, 0x10b0d9d0, 0x4e9d3222, 0x10e15b4e, |
333 | 0x4ec05432, 0x1111d263, 0x4ee345ad, 0x11423ef0, 0x4f06067f, 0x1172a0d7, 0x4f289692, 0x11a2f7fc, |
334 | 0x4f4af5d1, 0x11d3443f, 0x4f6d2427, 0x12038584, 0x4f8f217e, 0x1233bbac, 0x4fb0edc1, 0x1263e699, |
335 | 0x4fd288dc, 0x1294062f, 0x4ff3f2bb, 0x12c41a4f, 0x50152b47, 0x12f422db, 0x5036326e, 0x13241fb6, |
336 | 0x50570819, 0x135410c3, 0x5077ac37, 0x1383f5e3, 0x50981eb1, 0x13b3cefa, 0x50b85f74, 0x13e39be9, |
337 | 0x50d86e6d, 0x14135c94, 0x50f84b87, 0x144310dd, 0x5117f6ae, 0x1472b8a5, 0x51376fd0, 0x14a253d1, |
338 | 0x5156b6d9, 0x14d1e242, 0x5175cbb5, 0x150163dc, 0x5194ae52, 0x1530d881, 0x51b35e9b, 0x15604013, |
339 | 0x51d1dc80, 0x158f9a76, 0x51f027eb, 0x15bee78c, 0x520e40cc, 0x15ee2738, 0x522c270f, 0x161d595d, |
340 | 0x5249daa2, 0x164c7ddd, 0x52675b72, 0x167b949d, 0x5284a96e, 0x16aa9d7e, 0x52a1c482, 0x16d99864, |
341 | 0x52beac9f, 0x17088531, 0x52db61b0, 0x173763c9, 0x52f7e3a6, 0x1766340f, 0x5314326d, 0x1794f5e6, |
342 | 0x53304df6, 0x17c3a931, 0x534c362d, 0x17f24dd3, 0x5367eb03, 0x1820e3b0, 0x53836c66, 0x184f6aab, |
343 | 0x539eba45, 0x187de2a7, 0x53b9d48f, 0x18ac4b87, 0x53d4bb34, 0x18daa52f, 0x53ef6e23, 0x1908ef82, |
344 | 0x5409ed4b, 0x19372a64, 0x5424389d, 0x196555b8, 0x543e5007, 0x19937161, 0x5458337a, 0x19c17d44, |
345 | 0x5471e2e6, 0x19ef7944, 0x548b5e3b, 0x1a1d6544, 0x54a4a56a, 0x1a4b4128, 0x54bdb862, 0x1a790cd4, |
346 | 0x54d69714, 0x1aa6c82b, 0x54ef4171, 0x1ad47312, 0x5507b76a, 0x1b020d6c, 0x551ff8ef, 0x1b2f971e, |
347 | 0x553805f2, 0x1b5d100a, 0x554fde64, 0x1b8a7815, 0x55678236, 0x1bb7cf23, 0x557ef15a, 0x1be51518, |
348 | 0x55962bc0, 0x1c1249d8, 0x55ad315b, 0x1c3f6d47, 0x55c4021d, 0x1c6c7f4a, 0x55da9df7, 0x1c997fc4, |
349 | 0x55f104dc, 0x1cc66e99, 0x560736bd, 0x1cf34baf, 0x561d338d, 0x1d2016e9, 0x5632fb3f, 0x1d4cd02c, |
350 | 0x56488dc5, 0x1d79775c, 0x565deb11, 0x1da60c5d, 0x56731317, 0x1dd28f15, 0x568805c9, 0x1dfeff67, |
351 | 0x569cc31b, 0x1e2b5d38, 0x56b14b00, 0x1e57a86d, 0x56c59d6a, 0x1e83e0eb, 0x56d9ba4e, 0x1eb00696, |
352 | 0x56eda1a0, 0x1edc1953, 0x57015352, 0x1f081907, 0x5714cf59, 0x1f340596, 0x572815a8, 0x1f5fdee6, |
353 | 0x573b2635, 0x1f8ba4dc, 0x574e00f2, 0x1fb7575c, 0x5760a5d5, 0x1fe2f64c, 0x577314d2, 0x200e8190, |
354 | 0x57854ddd, 0x2039f90f, 0x579750ec, 0x20655cac, 0x57a91df2, 0x2090ac4d, 0x57bab4e6, 0x20bbe7d8, |
355 | 0x57cc15bc, 0x20e70f32, 0x57dd406a, 0x21122240, 0x57ee34e5, 0x213d20e8, 0x57fef323, 0x21680b0f, |
356 | 0x580f7b19, 0x2192e09b, 0x581fccbc, 0x21bda171, 0x582fe804, 0x21e84d76, 0x583fcce6, 0x2212e492, |
357 | 0x584f7b58, 0x223d66a8, 0x585ef351, 0x2267d3a0, 0x586e34c7, 0x22922b5e, 0x587d3fb0, 0x22bc6dca, |
358 | 0x588c1404, 0x22e69ac8, 0x589ab1b9, 0x2310b23e, 0x58a918c6, 0x233ab414, 0x58b74923, 0x2364a02e, |
359 | 0x58c542c5, 0x238e7673, 0x58d305a6, 0x23b836ca, 0x58e091bd, 0x23e1e117, 0x58ede700, 0x240b7543, |
360 | 0x58fb0568, 0x2434f332, 0x5907eced, 0x245e5acc, 0x59149d87, 0x2487abf7, 0x5921172e, 0x24b0e699, |
361 | 0x592d59da, 0x24da0a9a, 0x59396584, 0x250317df, 0x59453a24, 0x252c0e4f, 0x5950d7b3, 0x2554edd1, |
362 | 0x595c3e2a, 0x257db64c, 0x59676d82, 0x25a667a7, 0x597265b4, 0x25cf01c8, 0x597d26b8, 0x25f78497, |
363 | 0x5987b08a, 0x261feffa, 0x59920321, 0x264843d9, 0x599c1e78, 0x2670801a, 0x59a60288, 0x2698a4a6, |
364 | 0x59afaf4c, 0x26c0b162, 0x59b924bc, 0x26e8a637, 0x59c262d5, 0x2710830c, 0x59cb698f, 0x273847c8, |
365 | 0x59d438e5, 0x275ff452, 0x59dcd0d3, 0x27878893, 0x59e53151, 0x27af0472, 0x59ed5a5c, 0x27d667d5, |
366 | 0x59f54bee, 0x27fdb2a7, 0x59fd0603, 0x2824e4cc, 0x5a048895, 0x284bfe2f, 0x5a0bd3a1, 0x2872feb6, |
367 | 0x5a12e720, 0x2899e64a, 0x5a19c310, 0x28c0b4d2, 0x5a20676c, 0x28e76a37, 0x5a26d42f, 0x290e0661, |
368 | 0x5a2d0957, 0x29348937, 0x5a3306de, 0x295af2a3, 0x5a38ccc2, 0x2981428c, 0x5a3e5afe, 0x29a778db, |
369 | 0x5a43b190, 0x29cd9578, 0x5a48d074, 0x29f3984c, 0x5a4db7a6, 0x2a19813f, 0x5a526725, 0x2a3f503a, |
370 | 0x5a56deec, 0x2a650525, 0x5a5b1efa, 0x2a8a9fea, 0x5a5f274b, 0x2ab02071, 0x5a62f7dd, 0x2ad586a3, |
371 | 0x5a6690ae, 0x2afad269, 0x5a69f1bb, 0x2b2003ac, 0x5a6d1b03, 0x2b451a55, 0x5a700c84, 0x2b6a164d, |
372 | 0x5a72c63b, 0x2b8ef77d, 0x5a754827, 0x2bb3bdce, 0x5a779246, 0x2bd8692b, 0x5a79a498, 0x2bfcf97c, |
373 | 0x5a7b7f1a, 0x2c216eaa, 0x5a7d21cc, 0x2c45c8a0, 0x5a7e8cac, 0x2c6a0746, 0x5a7fbfbb, 0x2c8e2a87, |
374 | 0x5a80baf6, 0x2cb2324c, 0x5a817e5d, 0x2cd61e7f, 0x5a8209f1, 0x2cf9ef09, 0x5a825db0, 0x2d1da3d5, |
375 | 0x5a82799a, 0x2d413ccd, |
376 | }; |
377 | |
378 | const int windowOffset[3] = {0, 256, 768}; |
379 | |
380 | /* Synthesis window |
381 | * format = Q31 |
382 | * reordered for sequential access |
383 | * |
384 | * for (i = 0; i < nmlt / 2; i++) { |
385 | * angle = (i + 0.5) * M_PI / (2.0 * nmlt); |
386 | * x = sin(angle); |
387 | * |
388 | * angle = (nmlt - 1 - i + 0.5) * M_PI / (2.0 * nmlt); |
389 | * x = sin(angle); |
390 | * } |
391 | */ |
392 | const int window[256 + 512 + 1024] = { |
393 | /* 256 point window */ |
394 | 0x006487e3, 0x7fffd886, 0x012d96b1, 0x7ffe9cb2, 0x01f6a297, 0x7ffc250f, 0x02bfa9a4, 0x7ff871a2, |
395 | 0x0388a9ea, 0x7ff38274, 0x0451a177, 0x7fed5791, 0x051a8e5c, 0x7fe5f108, 0x05e36ea9, 0x7fdd4eec, |
396 | 0x06ac406f, 0x7fd37153, 0x077501be, 0x7fc85854, 0x083db0a7, 0x7fbc040a, 0x09064b3a, 0x7fae7495, |
397 | 0x09cecf89, 0x7f9faa15, 0x0a973ba5, 0x7f8fa4b0, 0x0b5f8d9f, 0x7f7e648c, 0x0c27c389, 0x7f6be9d4, |
398 | 0x0cefdb76, 0x7f5834b7, 0x0db7d376, 0x7f434563, 0x0e7fa99e, 0x7f2d1c0e, 0x0f475bff, 0x7f15b8ee, |
399 | 0x100ee8ad, 0x7efd1c3c, 0x10d64dbd, 0x7ee34636, 0x119d8941, 0x7ec8371a, 0x1264994e, 0x7eabef2c, |
400 | 0x132b7bf9, 0x7e8e6eb2, 0x13f22f58, 0x7e6fb5f4, 0x14b8b17f, 0x7e4fc53e, 0x157f0086, 0x7e2e9cdf, |
401 | 0x16451a83, 0x7e0c3d29, 0x170afd8d, 0x7de8a670, 0x17d0a7bc, 0x7dc3d90d, 0x18961728, 0x7d9dd55a, |
402 | 0x195b49ea, 0x7d769bb5, 0x1a203e1b, 0x7d4e2c7f, 0x1ae4f1d6, 0x7d24881b, 0x1ba96335, 0x7cf9aef0, |
403 | 0x1c6d9053, 0x7ccda169, 0x1d31774d, 0x7ca05ff1, 0x1df5163f, 0x7c71eaf9, 0x1eb86b46, 0x7c4242f2, |
404 | 0x1f7b7481, 0x7c116853, 0x203e300d, 0x7bdf5b94, 0x21009c0c, 0x7bac1d31, 0x21c2b69c, 0x7b77ada8, |
405 | 0x22847de0, 0x7b420d7a, 0x2345eff8, 0x7b0b3d2c, 0x24070b08, 0x7ad33d45, 0x24c7cd33, 0x7a9a0e50, |
406 | 0x2588349d, 0x7a5fb0d8, 0x26483f6c, 0x7a24256f, 0x2707ebc7, 0x79e76ca7, 0x27c737d3, 0x79a98715, |
407 | 0x288621b9, 0x796a7554, 0x2944a7a2, 0x792a37fe, 0x2a02c7b8, 0x78e8cfb2, 0x2ac08026, 0x78a63d11, |
408 | 0x2b7dcf17, 0x786280bf, 0x2c3ab2b9, 0x781d9b65, 0x2cf72939, 0x77d78daa, 0x2db330c7, 0x7790583e, |
409 | 0x2e6ec792, 0x7747fbce, 0x2f29ebcc, 0x76fe790e, 0x2fe49ba7, 0x76b3d0b4, 0x309ed556, 0x76680376, |
410 | 0x3158970e, 0x761b1211, 0x3211df04, 0x75ccfd42, 0x32caab6f, 0x757dc5ca, 0x3382fa88, 0x752d6c6c, |
411 | 0x343aca87, 0x74dbf1ef, 0x34f219a8, 0x7489571c, 0x35a8e625, 0x74359cbd, 0x365f2e3b, 0x73e0c3a3, |
412 | 0x3714f02a, 0x738acc9e, 0x37ca2a30, 0x7333b883, 0x387eda8e, 0x72db8828, 0x3932ff87, 0x72823c67, |
413 | 0x39e6975e, 0x7227d61c, 0x3a99a057, 0x71cc5626, 0x3b4c18ba, 0x716fbd68, 0x3bfdfecd, 0x71120cc5, |
414 | 0x3caf50da, 0x70b34525, 0x3d600d2c, 0x70536771, 0x3e10320d, 0x6ff27497, 0x3ebfbdcd, 0x6f906d84, |
415 | 0x3f6eaeb8, 0x6f2d532c, 0x401d0321, 0x6ec92683, 0x40cab958, 0x6e63e87f, 0x4177cfb1, 0x6dfd9a1c, |
416 | 0x42244481, 0x6d963c54, 0x42d0161e, 0x6d2dd027, 0x437b42e1, 0x6cc45698, 0x4425c923, 0x6c59d0a9, |
417 | 0x44cfa740, 0x6bee3f62, 0x4578db93, 0x6b81a3cd, 0x4621647d, 0x6b13fef5, 0x46c9405c, 0x6aa551e9, |
418 | 0x47706d93, 0x6a359db9, 0x4816ea86, 0x69c4e37a, 0x48bcb599, 0x69532442, 0x4961cd33, 0x68e06129, |
419 | 0x4a062fbd, 0x686c9b4b, 0x4aa9dba2, 0x67f7d3c5, 0x4b4ccf4d, 0x67820bb7, 0x4bef092d, 0x670b4444, |
420 | 0x4c9087b1, 0x66937e91, 0x4d31494b, 0x661abbc5, 0x4dd14c6e, 0x65a0fd0b, 0x4e708f8f, 0x6526438f, |
421 | 0x4f0f1126, 0x64aa907f, 0x4faccfab, 0x642de50d, 0x5049c999, 0x63b0426d, 0x50e5fd6d, 0x6331a9d4, |
422 | 0x518169a5, 0x62b21c7b, 0x521c0cc2, 0x62319b9d, 0x52b5e546, 0x61b02876, 0x534ef1b5, 0x612dc447, |
423 | 0x53e73097, 0x60aa7050, 0x547ea073, 0x60262dd6, 0x55153fd4, 0x5fa0fe1f, 0x55ab0d46, 0x5f1ae274, |
424 | 0x56400758, 0x5e93dc1f, 0x56d42c99, 0x5e0bec6e, 0x57677b9d, 0x5d8314b1, 0x57f9f2f8, 0x5cf95638, |
425 | 0x588b9140, 0x5c6eb258, 0x591c550e, 0x5be32a67, 0x59ac3cfd, 0x5b56bfbd, 0x5a3b47ab, 0x5ac973b5, |
426 | |
427 | /* 512 point window */ |
428 | 0x003243f5, 0x7ffff621, 0x0096cbc1, 0x7fffa72c, 0x00fb5330, 0x7fff0943, 0x015fda03, 0x7ffe1c65, |
429 | 0x01c45ffe, 0x7ffce093, 0x0228e4e2, 0x7ffb55ce, 0x028d6870, 0x7ff97c18, 0x02f1ea6c, 0x7ff75370, |
430 | 0x03566a96, 0x7ff4dbd9, 0x03bae8b2, 0x7ff21553, 0x041f6480, 0x7feeffe1, 0x0483ddc3, 0x7feb9b85, |
431 | 0x04e8543e, 0x7fe7e841, 0x054cc7b1, 0x7fe3e616, 0x05b137df, 0x7fdf9508, 0x0615a48b, 0x7fdaf519, |
432 | 0x067a0d76, 0x7fd6064c, 0x06de7262, 0x7fd0c8a3, 0x0742d311, 0x7fcb3c23, 0x07a72f45, 0x7fc560cf, |
433 | 0x080b86c2, 0x7fbf36aa, 0x086fd947, 0x7fb8bdb8, 0x08d42699, 0x7fb1f5fc, 0x09386e78, 0x7faadf7c, |
434 | 0x099cb0a7, 0x7fa37a3c, 0x0a00ece8, 0x7f9bc640, 0x0a6522fe, 0x7f93c38c, 0x0ac952aa, 0x7f8b7227, |
435 | 0x0b2d7baf, 0x7f82d214, 0x0b919dcf, 0x7f79e35a, 0x0bf5b8cb, 0x7f70a5fe, 0x0c59cc68, 0x7f671a05, |
436 | 0x0cbdd865, 0x7f5d3f75, 0x0d21dc87, 0x7f531655, 0x0d85d88f, 0x7f489eaa, 0x0de9cc40, 0x7f3dd87c, |
437 | 0x0e4db75b, 0x7f32c3d1, 0x0eb199a4, 0x7f2760af, 0x0f1572dc, 0x7f1baf1e, 0x0f7942c7, 0x7f0faf25, |
438 | 0x0fdd0926, 0x7f0360cb, 0x1040c5bb, 0x7ef6c418, 0x10a4784b, 0x7ee9d914, 0x11082096, 0x7edc9fc6, |
439 | 0x116bbe60, 0x7ecf1837, 0x11cf516a, 0x7ec14270, 0x1232d979, 0x7eb31e78, 0x1296564d, 0x7ea4ac58, |
440 | 0x12f9c7aa, 0x7e95ec1a, 0x135d2d53, 0x7e86ddc6, 0x13c0870a, 0x7e778166, 0x1423d492, 0x7e67d703, |
441 | 0x148715ae, 0x7e57dea7, 0x14ea4a1f, 0x7e47985b, 0x154d71aa, 0x7e37042a, 0x15b08c12, 0x7e26221f, |
442 | 0x16139918, 0x7e14f242, 0x1676987f, 0x7e0374a0, 0x16d98a0c, 0x7df1a942, 0x173c6d80, 0x7ddf9034, |
443 | 0x179f429f, 0x7dcd2981, 0x1802092c, 0x7dba7534, 0x1864c0ea, 0x7da77359, 0x18c7699b, 0x7d9423fc, |
444 | 0x192a0304, 0x7d808728, 0x198c8ce7, 0x7d6c9ce9, 0x19ef0707, 0x7d58654d, 0x1a517128, 0x7d43e05e, |
445 | 0x1ab3cb0d, 0x7d2f0e2b, 0x1b161479, 0x7d19eebf, 0x1b784d30, 0x7d048228, 0x1bda74f6, 0x7ceec873, |
446 | 0x1c3c8b8c, 0x7cd8c1ae, 0x1c9e90b8, 0x7cc26de5, 0x1d00843d, 0x7cabcd28, 0x1d6265dd, 0x7c94df83, |
447 | 0x1dc4355e, 0x7c7da505, 0x1e25f282, 0x7c661dbc, 0x1e879d0d, 0x7c4e49b7, 0x1ee934c3, 0x7c362904, |
448 | 0x1f4ab968, 0x7c1dbbb3, 0x1fac2abf, 0x7c0501d2, 0x200d888d, 0x7bebfb70, 0x206ed295, 0x7bd2a89e, |
449 | 0x20d0089c, 0x7bb9096b, 0x21312a65, 0x7b9f1de6, 0x219237b5, 0x7b84e61f, 0x21f3304f, 0x7b6a6227, |
450 | 0x225413f8, 0x7b4f920e, 0x22b4e274, 0x7b3475e5, 0x23159b88, 0x7b190dbc, 0x23763ef7, 0x7afd59a4, |
451 | 0x23d6cc87, 0x7ae159ae, 0x243743fa, 0x7ac50dec, 0x2497a517, 0x7aa8766f, 0x24f7efa2, 0x7a8b9348, |
452 | 0x2558235f, 0x7a6e648a, 0x25b84012, 0x7a50ea47, 0x26184581, 0x7a332490, 0x26783370, 0x7a151378, |
453 | 0x26d809a5, 0x79f6b711, 0x2737c7e3, 0x79d80f6f, 0x27976df1, 0x79b91ca4, 0x27f6fb92, 0x7999dec4, |
454 | 0x2856708d, 0x797a55e0, 0x28b5cca5, 0x795a820e, 0x29150fa1, 0x793a6361, 0x29743946, 0x7919f9ec, |
455 | 0x29d34958, 0x78f945c3, 0x2a323f9e, 0x78d846fb, 0x2a911bdc, 0x78b6fda8, 0x2aefddd8, 0x789569df, |
456 | 0x2b4e8558, 0x78738bb3, 0x2bad1221, 0x7851633b, 0x2c0b83fa, 0x782ef08b, 0x2c69daa6, 0x780c33b8, |
457 | 0x2cc815ee, 0x77e92cd9, 0x2d263596, 0x77c5dc01, 0x2d843964, 0x77a24148, 0x2de2211e, 0x777e5cc3, |
458 | 0x2e3fec8b, 0x775a2e89, 0x2e9d9b70, 0x7735b6af, 0x2efb2d95, 0x7710f54c, 0x2f58a2be, 0x76ebea77, |
459 | 0x2fb5fab2, 0x76c69647, 0x30133539, 0x76a0f8d2, 0x30705217, 0x767b1231, 0x30cd5115, 0x7654e279, |
460 | 0x312a31f8, 0x762e69c4, 0x3186f487, 0x7607a828, 0x31e39889, 0x75e09dbd, 0x32401dc6, 0x75b94a9c, |
461 | 0x329c8402, 0x7591aedd, 0x32f8cb07, 0x7569ca99, 0x3354f29b, 0x75419de7, 0x33b0fa84, 0x751928e0, |
462 | 0x340ce28b, 0x74f06b9e, 0x3468aa76, 0x74c7663a, 0x34c4520d, 0x749e18cd, 0x351fd918, 0x74748371, |
463 | 0x357b3f5d, 0x744aa63f, 0x35d684a6, 0x74208150, 0x3631a8b8, 0x73f614c0, 0x368cab5c, 0x73cb60a8, |
464 | 0x36e78c5b, 0x73a06522, 0x37424b7b, 0x73752249, 0x379ce885, 0x73499838, 0x37f76341, 0x731dc70a, |
465 | 0x3851bb77, 0x72f1aed9, 0x38abf0ef, 0x72c54fc1, 0x39060373, 0x7298a9dd, 0x395ff2c9, 0x726bbd48, |
466 | 0x39b9bebc, 0x723e8a20, 0x3a136712, 0x7211107e, 0x3a6ceb96, 0x71e35080, 0x3ac64c0f, 0x71b54a41, |
467 | 0x3b1f8848, 0x7186fdde, 0x3b78a007, 0x71586b74, 0x3bd19318, 0x7129931f, 0x3c2a6142, 0x70fa74fc, |
468 | 0x3c830a50, 0x70cb1128, 0x3cdb8e09, 0x709b67c0, 0x3d33ec39, 0x706b78e3, 0x3d8c24a8, 0x703b44ad, |
469 | 0x3de4371f, 0x700acb3c, 0x3e3c2369, 0x6fda0cae, 0x3e93e950, 0x6fa90921, 0x3eeb889c, 0x6f77c0b3, |
470 | 0x3f430119, 0x6f463383, 0x3f9a5290, 0x6f1461b0, 0x3ff17cca, 0x6ee24b57, 0x40487f94, 0x6eaff099, |
471 | 0x409f5ab6, 0x6e7d5193, 0x40f60dfb, 0x6e4a6e66, 0x414c992f, 0x6e174730, 0x41a2fc1a, 0x6de3dc11, |
472 | 0x41f93689, 0x6db02d29, 0x424f4845, 0x6d7c3a98, 0x42a5311b, 0x6d48047e, 0x42faf0d4, 0x6d138afb, |
473 | 0x4350873c, 0x6cdece2f, 0x43a5f41e, 0x6ca9ce3b, 0x43fb3746, 0x6c748b3f, 0x4450507e, 0x6c3f055d, |
474 | 0x44a53f93, 0x6c093cb6, 0x44fa0450, 0x6bd3316a, 0x454e9e80, 0x6b9ce39b, 0x45a30df0, 0x6b66536b, |
475 | 0x45f7526b, 0x6b2f80fb, 0x464b6bbe, 0x6af86c6c, 0x469f59b4, 0x6ac115e2, 0x46f31c1a, 0x6a897d7d, |
476 | 0x4746b2bc, 0x6a51a361, 0x479a1d67, 0x6a1987b0, 0x47ed5be6, 0x69e12a8c, 0x48406e08, 0x69a88c19, |
477 | 0x48935397, 0x696fac78, 0x48e60c62, 0x69368bce, 0x49389836, 0x68fd2a3d, 0x498af6df, 0x68c387e9, |
478 | 0x49dd282a, 0x6889a4f6, 0x4a2f2be6, 0x684f8186, 0x4a8101de, 0x68151dbe, 0x4ad2a9e2, 0x67da79c3, |
479 | 0x4b2423be, 0x679f95b7, 0x4b756f40, 0x676471c0, 0x4bc68c36, 0x67290e02, 0x4c177a6e, 0x66ed6aa1, |
480 | 0x4c6839b7, 0x66b187c3, 0x4cb8c9dd, 0x6675658c, 0x4d092ab0, 0x66390422, 0x4d595bfe, 0x65fc63a9, |
481 | 0x4da95d96, 0x65bf8447, 0x4df92f46, 0x65826622, 0x4e48d0dd, 0x6545095f, 0x4e984229, 0x65076e25, |
482 | 0x4ee782fb, 0x64c99498, 0x4f369320, 0x648b7ce0, 0x4f857269, 0x644d2722, 0x4fd420a4, 0x640e9386, |
483 | 0x50229da1, 0x63cfc231, 0x5070e92f, 0x6390b34a, 0x50bf031f, 0x635166f9, 0x510ceb40, 0x6311dd64, |
484 | 0x515aa162, 0x62d216b3, 0x51a82555, 0x6292130c, 0x51f576ea, 0x6251d298, 0x524295f0, 0x6211557e, |
485 | 0x528f8238, 0x61d09be5, 0x52dc3b92, 0x618fa5f7, 0x5328c1d0, 0x614e73da, 0x537514c2, 0x610d05b7, |
486 | 0x53c13439, 0x60cb5bb7, 0x540d2005, 0x60897601, 0x5458d7f9, 0x604754bf, 0x54a45be6, 0x6004f819, |
487 | 0x54efab9c, 0x5fc26038, 0x553ac6ee, 0x5f7f8d46, 0x5585adad, 0x5f3c7f6b, 0x55d05faa, 0x5ef936d1, |
488 | 0x561adcb9, 0x5eb5b3a2, 0x566524aa, 0x5e71f606, 0x56af3750, 0x5e2dfe29, 0x56f9147e, 0x5de9cc33, |
489 | 0x5742bc06, 0x5da5604f, 0x578c2dba, 0x5d60baa7, 0x57d5696d, 0x5d1bdb65, 0x581e6ef1, 0x5cd6c2b5, |
490 | 0x58673e1b, 0x5c9170bf, 0x58afd6bd, 0x5c4be5b0, 0x58f838a9, 0x5c0621b2, 0x594063b5, 0x5bc024f0, |
491 | 0x598857b2, 0x5b79ef96, 0x59d01475, 0x5b3381ce, 0x5a1799d1, 0x5aecdbc5, 0x5a5ee79a, 0x5aa5fda5, |
492 | |
493 | /* 1024 point window */ |
494 | 0x001921fb, 0x7ffffd88, 0x004b65ee, 0x7fffe9cb, 0x007da9d4, 0x7fffc251, 0x00afeda8, 0x7fff8719, |
495 | 0x00e23160, 0x7fff3824, 0x011474f6, 0x7ffed572, 0x0146b860, 0x7ffe5f03, 0x0178fb99, 0x7ffdd4d7, |
496 | 0x01ab3e97, 0x7ffd36ee, 0x01dd8154, 0x7ffc8549, 0x020fc3c6, 0x7ffbbfe6, 0x024205e8, 0x7ffae6c7, |
497 | 0x027447b0, 0x7ff9f9ec, 0x02a68917, 0x7ff8f954, 0x02d8ca16, 0x7ff7e500, 0x030b0aa4, 0x7ff6bcf0, |
498 | 0x033d4abb, 0x7ff58125, 0x036f8a51, 0x7ff4319d, 0x03a1c960, 0x7ff2ce5b, 0x03d407df, 0x7ff1575d, |
499 | 0x040645c7, 0x7fefcca4, 0x04388310, 0x7fee2e30, 0x046abfb3, 0x7fec7c02, 0x049cfba7, 0x7feab61a, |
500 | 0x04cf36e5, 0x7fe8dc78, 0x05017165, 0x7fe6ef1c, 0x0533ab20, 0x7fe4ee06, 0x0565e40d, 0x7fe2d938, |
501 | 0x05981c26, 0x7fe0b0b1, 0x05ca5361, 0x7fde7471, 0x05fc89b8, 0x7fdc247a, 0x062ebf22, 0x7fd9c0ca, |
502 | 0x0660f398, 0x7fd74964, 0x06932713, 0x7fd4be46, 0x06c5598a, 0x7fd21f72, 0x06f78af6, 0x7fcf6ce8, |
503 | 0x0729bb4e, 0x7fcca6a7, 0x075bea8c, 0x7fc9ccb2, 0x078e18a7, 0x7fc6df08, 0x07c04598, 0x7fc3dda9, |
504 | 0x07f27157, 0x7fc0c896, 0x08249bdd, 0x7fbd9fd0, 0x0856c520, 0x7fba6357, 0x0888ed1b, 0x7fb7132b, |
505 | 0x08bb13c5, 0x7fb3af4e, 0x08ed3916, 0x7fb037bf, 0x091f5d06, 0x7facac7f, 0x09517f8f, 0x7fa90d8e, |
506 | 0x0983a0a7, 0x7fa55aee, 0x09b5c048, 0x7fa1949e, 0x09e7de6a, 0x7f9dbaa0, 0x0a19fb04, 0x7f99ccf4, |
507 | 0x0a4c1610, 0x7f95cb9a, 0x0a7e2f85, 0x7f91b694, 0x0ab0475c, 0x7f8d8de1, 0x0ae25d8d, 0x7f895182, |
508 | 0x0b147211, 0x7f850179, 0x0b4684df, 0x7f809dc5, 0x0b7895f0, 0x7f7c2668, 0x0baaa53b, 0x7f779b62, |
509 | 0x0bdcb2bb, 0x7f72fcb4, 0x0c0ebe66, 0x7f6e4a5e, 0x0c40c835, 0x7f698461, 0x0c72d020, 0x7f64aabf, |
510 | 0x0ca4d620, 0x7f5fbd77, 0x0cd6da2d, 0x7f5abc8a, 0x0d08dc3f, 0x7f55a7fa, 0x0d3adc4e, 0x7f507fc7, |
511 | 0x0d6cda53, 0x7f4b43f2, 0x0d9ed646, 0x7f45f47b, 0x0dd0d01f, 0x7f409164, 0x0e02c7d7, 0x7f3b1aad, |
512 | 0x0e34bd66, 0x7f359057, 0x0e66b0c3, 0x7f2ff263, 0x0e98a1e9, 0x7f2a40d2, 0x0eca90ce, 0x7f247ba5, |
513 | 0x0efc7d6b, 0x7f1ea2dc, 0x0f2e67b8, 0x7f18b679, 0x0f604faf, 0x7f12b67c, 0x0f923546, 0x7f0ca2e7, |
514 | 0x0fc41876, 0x7f067bba, 0x0ff5f938, 0x7f0040f6, 0x1027d784, 0x7ef9f29d, 0x1059b352, 0x7ef390ae, |
515 | 0x108b8c9b, 0x7eed1b2c, 0x10bd6356, 0x7ee69217, 0x10ef377d, 0x7edff570, 0x11210907, 0x7ed94538, |
516 | 0x1152d7ed, 0x7ed28171, 0x1184a427, 0x7ecbaa1a, 0x11b66dad, 0x7ec4bf36, 0x11e83478, 0x7ebdc0c6, |
517 | 0x1219f880, 0x7eb6aeca, 0x124bb9be, 0x7eaf8943, 0x127d7829, 0x7ea85033, 0x12af33ba, 0x7ea1039b, |
518 | 0x12e0ec6a, 0x7e99a37c, 0x1312a230, 0x7e922fd6, 0x13445505, 0x7e8aa8ac, 0x137604e2, 0x7e830dff, |
519 | 0x13a7b1bf, 0x7e7b5fce, 0x13d95b93, 0x7e739e1d, 0x140b0258, 0x7e6bc8eb, 0x143ca605, 0x7e63e03b, |
520 | 0x146e4694, 0x7e5be40c, 0x149fe3fc, 0x7e53d462, 0x14d17e36, 0x7e4bb13c, 0x1503153a, 0x7e437a9c, |
521 | 0x1534a901, 0x7e3b3083, 0x15663982, 0x7e32d2f4, 0x1597c6b7, 0x7e2a61ed, 0x15c95097, 0x7e21dd73, |
522 | 0x15fad71b, 0x7e194584, 0x162c5a3b, 0x7e109a24, 0x165dd9f0, 0x7e07db52, 0x168f5632, 0x7dff0911, |
523 | 0x16c0cef9, 0x7df62362, 0x16f2443e, 0x7ded2a47, 0x1723b5f9, 0x7de41dc0, 0x17552422, 0x7ddafdce, |
524 | 0x17868eb3, 0x7dd1ca75, 0x17b7f5a3, 0x7dc883b4, 0x17e958ea, 0x7dbf298d, 0x181ab881, 0x7db5bc02, |
525 | 0x184c1461, 0x7dac3b15, 0x187d6c82, 0x7da2a6c6, 0x18aec0db, 0x7d98ff17, 0x18e01167, 0x7d8f4409, |
526 | 0x19115e1c, 0x7d85759f, 0x1942a6f3, 0x7d7b93da, 0x1973ebe6, 0x7d719eba, 0x19a52ceb, 0x7d679642, |
527 | 0x19d669fc, 0x7d5d7a74, 0x1a07a311, 0x7d534b50, 0x1a38d823, 0x7d4908d9, 0x1a6a0929, 0x7d3eb30f, |
528 | 0x1a9b361d, 0x7d3449f5, 0x1acc5ef6, 0x7d29cd8c, 0x1afd83ad, 0x7d1f3dd6, 0x1b2ea43a, 0x7d149ad5, |
529 | 0x1b5fc097, 0x7d09e489, 0x1b90d8bb, 0x7cff1af5, 0x1bc1ec9e, 0x7cf43e1a, 0x1bf2fc3a, 0x7ce94dfb, |
530 | 0x1c240786, 0x7cde4a98, 0x1c550e7c, 0x7cd333f3, 0x1c861113, 0x7cc80a0f, 0x1cb70f43, 0x7cbcccec, |
531 | 0x1ce80906, 0x7cb17c8d, 0x1d18fe54, 0x7ca618f3, 0x1d49ef26, 0x7c9aa221, 0x1d7adb73, 0x7c8f1817, |
532 | 0x1dabc334, 0x7c837ad8, 0x1ddca662, 0x7c77ca65, 0x1e0d84f5, 0x7c6c06c0, 0x1e3e5ee5, 0x7c602fec, |
533 | 0x1e6f342c, 0x7c5445e9, 0x1ea004c1, 0x7c4848ba, 0x1ed0d09d, 0x7c3c3860, 0x1f0197b8, 0x7c3014de, |
534 | 0x1f325a0b, 0x7c23de35, 0x1f63178f, 0x7c179467, 0x1f93d03c, 0x7c0b3777, 0x1fc4840a, 0x7bfec765, |
535 | 0x1ff532f2, 0x7bf24434, 0x2025dcec, 0x7be5ade6, 0x205681f1, 0x7bd9047c, 0x208721f9, 0x7bcc47fa, |
536 | 0x20b7bcfe, 0x7bbf7860, 0x20e852f6, 0x7bb295b0, 0x2118e3dc, 0x7ba59fee, 0x21496fa7, 0x7b989719, |
537 | 0x2179f64f, 0x7b8b7b36, 0x21aa77cf, 0x7b7e4c45, 0x21daf41d, 0x7b710a49, 0x220b6b32, 0x7b63b543, |
538 | 0x223bdd08, 0x7b564d36, 0x226c4996, 0x7b48d225, 0x229cb0d5, 0x7b3b4410, 0x22cd12bd, 0x7b2da2fa, |
539 | 0x22fd6f48, 0x7b1feee5, 0x232dc66d, 0x7b1227d3, 0x235e1826, 0x7b044dc7, 0x238e646a, 0x7af660c2, |
540 | 0x23beab33, 0x7ae860c7, 0x23eeec78, 0x7ada4dd8, 0x241f2833, 0x7acc27f7, 0x244f5e5c, 0x7abdef25, |
541 | 0x247f8eec, 0x7aafa367, 0x24afb9da, 0x7aa144bc, 0x24dfdf20, 0x7a92d329, 0x250ffeb7, 0x7a844eae, |
542 | 0x25401896, 0x7a75b74f, 0x25702cb7, 0x7a670d0d, 0x25a03b11, 0x7a584feb, 0x25d0439f, 0x7a497feb, |
543 | 0x26004657, 0x7a3a9d0f, 0x26304333, 0x7a2ba75a, 0x26603a2c, 0x7a1c9ece, 0x26902b39, 0x7a0d836d, |
544 | 0x26c01655, 0x79fe5539, 0x26effb76, 0x79ef1436, 0x271fda96, 0x79dfc064, 0x274fb3ae, 0x79d059c8, |
545 | 0x277f86b5, 0x79c0e062, 0x27af53a6, 0x79b15435, 0x27df1a77, 0x79a1b545, 0x280edb23, 0x79920392, |
546 | 0x283e95a1, 0x79823f20, 0x286e49ea, 0x797267f2, 0x289df7f8, 0x79627e08, 0x28cd9fc1, 0x79528167, |
547 | 0x28fd4140, 0x79427210, 0x292cdc6d, 0x79325006, 0x295c7140, 0x79221b4b, 0x298bffb2, 0x7911d3e2, |
548 | 0x29bb87bc, 0x790179cd, 0x29eb0957, 0x78f10d0f, 0x2a1a847b, 0x78e08dab, 0x2a49f920, 0x78cffba3, |
549 | 0x2a796740, 0x78bf56f9, 0x2aa8ced3, 0x78ae9fb0, 0x2ad82fd2, 0x789dd5cb, 0x2b078a36, 0x788cf94c, |
550 | 0x2b36ddf7, 0x787c0a36, 0x2b662b0e, 0x786b088c, 0x2b957173, 0x7859f44f, 0x2bc4b120, 0x7848cd83, |
551 | 0x2bf3ea0d, 0x7837942b, 0x2c231c33, 0x78264849, 0x2c52478a, 0x7814e9df, 0x2c816c0c, 0x780378f1, |
552 | 0x2cb089b1, 0x77f1f581, 0x2cdfa071, 0x77e05f91, 0x2d0eb046, 0x77ceb725, 0x2d3db928, 0x77bcfc3f, |
553 | 0x2d6cbb10, 0x77ab2ee2, 0x2d9bb5f6, 0x77994f11, 0x2dcaa9d5, 0x77875cce, 0x2df996a3, 0x7775581d, |
554 | 0x2e287c5a, 0x776340ff, 0x2e575af3, 0x77511778, 0x2e863267, 0x773edb8b, 0x2eb502ae, 0x772c8d3a, |
555 | 0x2ee3cbc1, 0x771a2c88, 0x2f128d99, 0x7707b979, 0x2f41482e, 0x76f5340e, 0x2f6ffb7a, 0x76e29c4b, |
556 | 0x2f9ea775, 0x76cff232, 0x2fcd4c19, 0x76bd35c7, 0x2ffbe95d, 0x76aa670d, 0x302a7f3a, 0x76978605, |
557 | 0x30590dab, 0x768492b4, 0x308794a6, 0x76718d1c, 0x30b61426, 0x765e7540, 0x30e48c22, 0x764b4b23, |
558 | 0x3112fc95, 0x76380ec8, 0x31416576, 0x7624c031, 0x316fc6be, 0x76115f63, 0x319e2067, 0x75fdec60, |
559 | 0x31cc7269, 0x75ea672a, 0x31fabcbd, 0x75d6cfc5, 0x3228ff5c, 0x75c32634, 0x32573a3f, 0x75af6a7b, |
560 | 0x32856d5e, 0x759b9c9b, 0x32b398b3, 0x7587bc98, 0x32e1bc36, 0x7573ca75, 0x330fd7e1, 0x755fc635, |
561 | 0x333debab, 0x754bafdc, 0x336bf78f, 0x7537876c, 0x3399fb85, 0x75234ce8, 0x33c7f785, 0x750f0054, |
562 | 0x33f5eb89, 0x74faa1b3, 0x3423d78a, 0x74e63108, 0x3451bb81, 0x74d1ae55, 0x347f9766, 0x74bd199f, |
563 | 0x34ad6b32, 0x74a872e8, 0x34db36df, 0x7493ba34, 0x3508fa66, 0x747eef85, 0x3536b5be, 0x746a12df, |
564 | 0x356468e2, 0x74552446, 0x359213c9, 0x744023bc, 0x35bfb66e, 0x742b1144, 0x35ed50c9, 0x7415ece2, |
565 | 0x361ae2d3, 0x7400b69a, 0x36486c86, 0x73eb6e6e, 0x3675edd9, 0x73d61461, 0x36a366c6, 0x73c0a878, |
566 | 0x36d0d746, 0x73ab2ab4, 0x36fe3f52, 0x73959b1b, 0x372b9ee3, 0x737ff9ae, 0x3758f5f2, 0x736a4671, |
567 | 0x37864477, 0x73548168, 0x37b38a6d, 0x733eaa96, 0x37e0c7cc, 0x7328c1ff, 0x380dfc8d, 0x7312c7a5, |
568 | 0x383b28a9, 0x72fcbb8c, 0x38684c19, 0x72e69db7, 0x389566d6, 0x72d06e2b, 0x38c278d9, 0x72ba2cea, |
569 | 0x38ef821c, 0x72a3d9f7, 0x391c8297, 0x728d7557, 0x39497a43, 0x7276ff0d, 0x39766919, 0x7260771b, |
570 | 0x39a34f13, 0x7249dd86, 0x39d02c2a, 0x72333251, 0x39fd0056, 0x721c7580, 0x3a29cb91, 0x7205a716, |
571 | 0x3a568dd4, 0x71eec716, 0x3a834717, 0x71d7d585, 0x3aaff755, 0x71c0d265, 0x3adc9e86, 0x71a9bdba, |
572 | 0x3b093ca3, 0x71929789, 0x3b35d1a5, 0x717b5fd3, 0x3b625d86, 0x7164169d, 0x3b8ee03e, 0x714cbbeb, |
573 | 0x3bbb59c7, 0x71354fc0, 0x3be7ca1a, 0x711dd220, 0x3c143130, 0x7106430e, 0x3c408f03, 0x70eea28e, |
574 | 0x3c6ce38a, 0x70d6f0a4, 0x3c992ec0, 0x70bf2d53, 0x3cc5709e, 0x70a7589f, 0x3cf1a91c, 0x708f728b, |
575 | 0x3d1dd835, 0x70777b1c, 0x3d49fde1, 0x705f7255, 0x3d761a19, 0x70475839, 0x3da22cd7, 0x702f2ccd, |
576 | 0x3dce3614, 0x7016f014, 0x3dfa35c8, 0x6ffea212, 0x3e262bee, 0x6fe642ca, 0x3e52187f, 0x6fcdd241, |
577 | 0x3e7dfb73, 0x6fb5507a, 0x3ea9d4c3, 0x6f9cbd79, 0x3ed5a46b, 0x6f841942, 0x3f016a61, 0x6f6b63d8, |
578 | 0x3f2d26a0, 0x6f529d40, 0x3f58d921, 0x6f39c57d, 0x3f8481dd, 0x6f20dc92, 0x3fb020ce, 0x6f07e285, |
579 | 0x3fdbb5ec, 0x6eeed758, 0x40074132, 0x6ed5bb10, 0x4032c297, 0x6ebc8db0, 0x405e3a16, 0x6ea34f3d, |
580 | 0x4089a7a8, 0x6e89ffb9, 0x40b50b46, 0x6e709f2a, 0x40e064ea, 0x6e572d93, 0x410bb48c, 0x6e3daaf8, |
581 | 0x4136fa27, 0x6e24175c, 0x416235b2, 0x6e0a72c5, 0x418d6729, 0x6df0bd35, 0x41b88e84, 0x6dd6f6b1, |
582 | 0x41e3abbc, 0x6dbd1f3c, 0x420ebecb, 0x6da336dc, 0x4239c7aa, 0x6d893d93, 0x4264c653, 0x6d6f3365, |
583 | 0x428fbabe, 0x6d551858, 0x42baa4e6, 0x6d3aec6e, 0x42e584c3, 0x6d20afac, 0x43105a50, 0x6d066215, |
584 | 0x433b2585, 0x6cec03af, 0x4365e65b, 0x6cd1947c, 0x43909ccd, 0x6cb71482, 0x43bb48d4, 0x6c9c83c3, |
585 | 0x43e5ea68, 0x6c81e245, 0x44108184, 0x6c67300b, 0x443b0e21, 0x6c4c6d1a, 0x44659039, 0x6c319975, |
586 | 0x449007c4, 0x6c16b521, 0x44ba74bd, 0x6bfbc021, 0x44e4d71c, 0x6be0ba7b, 0x450f2edb, 0x6bc5a431, |
587 | 0x45397bf4, 0x6baa7d49, 0x4563be60, 0x6b8f45c7, 0x458df619, 0x6b73fdae, 0x45b82318, 0x6b58a503, |
588 | 0x45e24556, 0x6b3d3bcb, 0x460c5cce, 0x6b21c208, 0x46366978, 0x6b0637c1, 0x46606b4e, 0x6aea9cf8, |
589 | 0x468a624a, 0x6acef1b2, 0x46b44e65, 0x6ab335f4, 0x46de2f99, 0x6a9769c1, 0x470805df, 0x6a7b8d1e, |
590 | 0x4731d131, 0x6a5fa010, 0x475b9188, 0x6a43a29a, 0x478546de, 0x6a2794c1, 0x47aef12c, 0x6a0b7689, |
591 | 0x47d8906d, 0x69ef47f6, 0x48022499, 0x69d3090e, 0x482badab, 0x69b6b9d3, 0x48552b9b, 0x699a5a4c, |
592 | 0x487e9e64, 0x697dea7b, 0x48a805ff, 0x69616a65, 0x48d16265, 0x6944da10, 0x48fab391, 0x6928397e, |
593 | 0x4923f97b, 0x690b88b5, 0x494d341e, 0x68eec7b9, 0x49766373, 0x68d1f68f, 0x499f8774, 0x68b5153a, |
594 | 0x49c8a01b, 0x689823bf, 0x49f1ad61, 0x687b2224, 0x4a1aaf3f, 0x685e106c, 0x4a43a5b0, 0x6840ee9b, |
595 | 0x4a6c90ad, 0x6823bcb7, 0x4a957030, 0x68067ac3, 0x4abe4433, 0x67e928c5, 0x4ae70caf, 0x67cbc6c0, |
596 | 0x4b0fc99d, 0x67ae54ba, 0x4b387af9, 0x6790d2b6, 0x4b6120bb, 0x677340ba, 0x4b89badd, 0x67559eca, |
597 | 0x4bb24958, 0x6737ecea, 0x4bdacc28, 0x671a2b20, 0x4c034345, 0x66fc596f, 0x4c2baea9, 0x66de77dc, |
598 | 0x4c540e4e, 0x66c0866d, 0x4c7c622d, 0x66a28524, 0x4ca4aa41, 0x66847408, 0x4ccce684, 0x6666531d, |
599 | 0x4cf516ee, 0x66482267, 0x4d1d3b7a, 0x6629e1ec, 0x4d455422, 0x660b91af, 0x4d6d60df, 0x65ed31b5, |
600 | 0x4d9561ac, 0x65cec204, 0x4dbd5682, 0x65b0429f, 0x4de53f5a, 0x6591b38c, 0x4e0d1c30, 0x657314cf, |
601 | 0x4e34ecfc, 0x6554666d, 0x4e5cb1b9, 0x6535a86b, 0x4e846a60, 0x6516dacd, 0x4eac16eb, 0x64f7fd98, |
602 | 0x4ed3b755, 0x64d910d1, 0x4efb4b96, 0x64ba147d, 0x4f22d3aa, 0x649b08a0, 0x4f4a4f89, 0x647bed3f, |
603 | 0x4f71bf2e, 0x645cc260, 0x4f992293, 0x643d8806, 0x4fc079b1, 0x641e3e38, 0x4fe7c483, 0x63fee4f8, |
604 | 0x500f0302, 0x63df7c4d, 0x50363529, 0x63c0043b, 0x505d5af1, 0x63a07cc7, 0x50847454, 0x6380e5f6, |
605 | 0x50ab814d, 0x63613fcd, 0x50d281d5, 0x63418a50, 0x50f975e6, 0x6321c585, 0x51205d7b, 0x6301f171, |
606 | 0x5147388c, 0x62e20e17, 0x516e0715, 0x62c21b7e, 0x5194c910, 0x62a219aa, 0x51bb7e75, 0x628208a1, |
607 | 0x51e22740, 0x6261e866, 0x5208c36a, 0x6241b8ff, 0x522f52ee, 0x62217a72, 0x5255d5c5, 0x62012cc2, |
608 | 0x527c4bea, 0x61e0cff5, 0x52a2b556, 0x61c06410, 0x52c91204, 0x619fe918, 0x52ef61ee, 0x617f5f12, |
609 | 0x5315a50e, 0x615ec603, 0x533bdb5d, 0x613e1df0, 0x536204d7, 0x611d66de, 0x53882175, 0x60fca0d2, |
610 | 0x53ae3131, 0x60dbcbd1, 0x53d43406, 0x60bae7e1, 0x53fa29ed, 0x6099f505, 0x542012e1, 0x6078f344, |
611 | 0x5445eedb, 0x6057e2a2, 0x546bbdd7, 0x6036c325, 0x54917fce, 0x601594d1, 0x54b734ba, 0x5ff457ad, |
612 | 0x54dcdc96, 0x5fd30bbc, 0x5502775c, 0x5fb1b104, 0x55280505, 0x5f90478a, 0x554d858d, 0x5f6ecf53, |
613 | 0x5572f8ed, 0x5f4d4865, 0x55985f20, 0x5f2bb2c5, 0x55bdb81f, 0x5f0a0e77, 0x55e303e6, 0x5ee85b82, |
614 | 0x5608426e, 0x5ec699e9, 0x562d73b2, 0x5ea4c9b3, 0x565297ab, 0x5e82eae5, 0x5677ae54, 0x5e60fd84, |
615 | 0x569cb7a8, 0x5e3f0194, 0x56c1b3a1, 0x5e1cf71c, 0x56e6a239, 0x5dfade20, 0x570b8369, 0x5dd8b6a7, |
616 | 0x5730572e, 0x5db680b4, 0x57551d80, 0x5d943c4e, 0x5779d65b, 0x5d71e979, 0x579e81b8, 0x5d4f883b, |
617 | 0x57c31f92, 0x5d2d189a, 0x57e7afe4, 0x5d0a9a9a, 0x580c32a7, 0x5ce80e41, 0x5830a7d6, 0x5cc57394, |
618 | 0x58550f6c, 0x5ca2ca99, 0x58796962, 0x5c801354, 0x589db5b3, 0x5c5d4dcc, 0x58c1f45b, 0x5c3a7a05, |
619 | 0x58e62552, 0x5c179806, 0x590a4893, 0x5bf4a7d2, 0x592e5e19, 0x5bd1a971, 0x595265df, 0x5bae9ce7, |
620 | 0x59765fde, 0x5b8b8239, 0x599a4c12, 0x5b68596d, 0x59be2a74, 0x5b452288, 0x59e1faff, 0x5b21dd90, |
621 | 0x5a05bdae, 0x5afe8a8b, 0x5a29727b, 0x5adb297d, 0x5a4d1960, 0x5ab7ba6c, 0x5a70b258, 0x5a943d5e, |
622 | }; |
623 | |
624 | /* bit reverse tables for FFT */ |
625 | |
626 | const int bitrevtabOffset[3] = {0, 33, 98}; |
627 | |
628 | const unsigned char bitrevtab[33 + 65 + 129] = { |
629 | /* bitrevtab0[33] */ |
630 | 0x1, 0x10, 0x2, 0x8, 0x3, 0x18, 0x5, 0x14, 0x6, 0xc, 0x7, 0x1c, 0x9, 0x12, 0xb, 0x1a, |
631 | 0xd, 0x16, 0xf, 0x1e, 0x13, 0x19, 0x17, 0x1d, 0x0, 0x4, 0xa, 0xe, 0x11, 0x15, 0x1b, 0x1f, 0x0, |
632 | |
633 | /* bitrevtab1[65] */ |
634 | 0x1, 0x20, 0x2, 0x10, 0x3, 0x30, 0x4, 0x8, 0x5, 0x28, 0x6, 0x18, 0x7, 0x38, 0x9, 0x24, |
635 | 0xa, 0x14, 0xb, 0x34, 0xd, 0x2c, 0xe, 0x1c, 0xf, 0x3c, 0x11, 0x22, 0x13, 0x32, 0x15, 0x2a, |
636 | 0x16, 0x1a, 0x17, 0x3a, 0x19, 0x26, 0x1b, 0x36, 0x1d, 0x2e, 0x1f, 0x3e, 0x23, 0x31, 0x25, 0x29, |
637 | 0x27, 0x39, 0x2b, 0x35, 0x2f, 0x3d, 0x37, 0x3b, 0x0, 0xc, 0x12, 0x1e, 0x21, 0x2d, 0x33, 0x3f, 0x0, |
638 | |
639 | /* bitrevtab2[129] */ |
640 | 0x1, 0x40, 0x2, 0x20, 0x3, 0x60, 0x4, 0x10, 0x5, 0x50, 0x6, 0x30, 0x7, 0x70, 0x9, 0x48, |
641 | 0xa, 0x28, 0xb, 0x68, 0xc, 0x18, 0xd, 0x58, 0xe, 0x38, 0xf, 0x78, 0x11, 0x44, 0x12, 0x24, |
642 | 0x13, 0x64, 0x15, 0x54, 0x16, 0x34, 0x17, 0x74, 0x19, 0x4c, 0x1a, 0x2c, 0x1b, 0x6c, 0x1d, 0x5c, |
643 | 0x1e, 0x3c, 0x1f, 0x7c, 0x21, 0x42, 0x23, 0x62, 0x25, 0x52, 0x26, 0x32, 0x27, 0x72, 0x29, 0x4a, |
644 | 0x2b, 0x6a, 0x2d, 0x5a, 0x2e, 0x3a, 0x2f, 0x7a, 0x31, 0x46, 0x33, 0x66, 0x35, 0x56, 0x37, 0x76, |
645 | 0x39, 0x4e, 0x3b, 0x6e, 0x3d, 0x5e, 0x3f, 0x7e, 0x43, 0x61, 0x45, 0x51, 0x47, 0x71, 0x4b, 0x69, |
646 | 0x4d, 0x59, 0x4f, 0x79, 0x53, 0x65, 0x57, 0x75, 0x5b, 0x6d, 0x5f, 0x7d, 0x67, 0x73, 0x6f, 0x7b, |
647 | 0x0, 0x8, 0x14, 0x1c, 0x22, 0x2a, 0x36, 0x3e, 0x41, 0x49, 0x55, 0x5d, 0x63, 0x6b, 0x77, 0x7f, 0x0, |
648 | }; |
649 | |
650 | const unsigned char uniqueIDTab[8] = {0x5f, 0x4b, 0x43, 0x5f, 0x5f, 0x4a, 0x52, 0x5f}; |
651 | |
652 | /* Twiddle tables for FFT |
653 | * format = Q31 |
654 | * |
655 | * for (k = 4; k <= N/4; k <<= 1) { |
656 | * for (j = 0; j < k; j++) { |
657 | * double wr1, wi1, wr2, wi2, wr3, wi3; |
658 | * |
659 | * wr1 = cos(1.0 * M_PI * j / (2*k)); |
660 | * wi1 = sin(1.0 * M_PI * j / (2*k)); |
661 | * wr1 = 0.5 * (wr1 + wi1); |
662 | * wi1 = 0.5 * -wi1; |
663 | * |
664 | * wr2 = cos(2.0 * M_PI * j / (2*k)); |
665 | * wi2 = sin(2.0 * M_PI * j / (2*k)); |
666 | * wr2 = 0.5 * (wr2 + wi2); |
667 | * wi2 = 0.5 * -wi2; |
668 | * |
669 | * wr3 = cos(3.0 * M_PI * j / (2*k)); |
670 | * wi3 = sin(3.0 * M_PI * j / (2*k)); |
671 | * wr3 = 0.5 * (wr3 + wi3); |
672 | * wi3 = 0.5 * -wi3; |
673 | * |
674 | * if (k & 0xaaaaaaaa) { |
675 | * w_odd[iodd++] = (float)wr2; |
676 | * w_odd[iodd++] = (float)wi2; |
677 | * w_odd[iodd++] = (float)wr1; |
678 | * w_odd[iodd++] = (float)wi1; |
679 | * w_odd[iodd++] = (float)wr3; |
680 | * w_odd[iodd++] = (float)wi3; |
681 | * } else { |
682 | * w_even[ieven++] = (float)wr2; |
683 | * w_even[ieven++] = (float)wi2; |
684 | * w_even[ieven++] = (float)wr1; |
685 | * w_even[ieven++] = (float)wi1; |
686 | * w_even[ieven++] = (float)wr3; |
687 | * w_even[ieven++] = (float)wi3; |
688 | * } |
689 | * } |
690 | * } |
691 | */ |
692 | const int twidTabOdd[8 * 6 + 32 * 6 + 128 * 6] = { |
693 | 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x539eba45, 0xe7821d59, |
694 | 0x4b418bbe, 0xf383a3e2, 0x58c542c5, 0xdc71898d, 0x5a82799a, 0xd2bec333, 0x539eba45, 0xe7821d59, |
695 | 0x539eba45, 0xc4df2862, 0x539eba45, 0xc4df2862, 0x58c542c5, 0xdc71898d, 0x3248d382, 0xc13ad060, |
696 | 0x40000000, 0xc0000000, 0x5a82799a, 0xd2bec333, 0x00000000, 0xd2bec333, 0x22a2f4f8, 0xc4df2862, |
697 | 0x58c542c5, 0xcac933ae, 0xcdb72c7e, 0xf383a3e2, 0x00000000, 0xd2bec333, 0x539eba45, 0xc4df2862, |
698 | 0xac6145bb, 0x187de2a7, 0xdd5d0b08, 0xe7821d59, 0x4b418bbe, 0xc13ad060, 0xa73abd3b, 0x3536cc52, |
699 | |
700 | 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x45f704f7, 0xf9ba1651, |
701 | 0x43103085, 0xfcdc1342, 0x48b2b335, 0xf69bf7c9, 0x4b418bbe, 0xf383a3e2, 0x45f704f7, 0xf9ba1651, |
702 | 0x4fd288dc, 0xed6bf9d1, 0x4fd288dc, 0xed6bf9d1, 0x48b2b335, 0xf69bf7c9, 0x553805f2, 0xe4a2eff6, |
703 | 0x539eba45, 0xe7821d59, 0x4b418bbe, 0xf383a3e2, 0x58c542c5, 0xdc71898d, 0x569cc31b, 0xe1d4a2c8, |
704 | 0x4da1fab5, 0xf0730342, 0x5a6690ae, 0xd5052d97, 0x58c542c5, 0xdc71898d, 0x4fd288dc, 0xed6bf9d1, |
705 | 0x5a12e720, 0xce86ff2a, 0x5a12e720, 0xd76619b6, 0x51d1dc80, 0xea70658a, 0x57cc15bc, 0xc91af976, |
706 | 0x5a82799a, 0xd2bec333, 0x539eba45, 0xe7821d59, 0x539eba45, 0xc4df2862, 0x5a12e720, 0xce86ff2a, |
707 | 0x553805f2, 0xe4a2eff6, 0x4da1fab5, 0xc1eb0209, 0x58c542c5, 0xcac933ae, 0x569cc31b, 0xe1d4a2c8, |
708 | 0x45f704f7, 0xc04ee4b8, 0x569cc31b, 0xc78e9a1d, 0x57cc15bc, 0xdf18f0ce, 0x3cc85709, 0xc013bc39, |
709 | 0x539eba45, 0xc4df2862, 0x58c542c5, 0xdc71898d, 0x3248d382, 0xc13ad060, 0x4fd288dc, 0xc2c17d52, |
710 | 0x5987b08a, 0xd9e01006, 0x26b2a794, 0xc3bdbdf6, 0x4b418bbe, 0xc13ad060, 0x5a12e720, 0xd76619b6, |
711 | 0x1a4608ab, 0xc78e9a1d, 0x45f704f7, 0xc04ee4b8, 0x5a6690ae, 0xd5052d97, 0x0d47d096, 0xcc983f70, |
712 | 0x40000000, 0xc0000000, 0x5a82799a, 0xd2bec333, 0x00000000, 0xd2bec333, 0x396b3199, 0xc04ee4b8, |
713 | 0x5a6690ae, 0xd09441bb, 0xf2b82f6a, 0xd9e01006, 0x3248d382, 0xc13ad060, 0x5a12e720, 0xce86ff2a, |
714 | 0xe5b9f755, 0xe1d4a2c8, 0x2aaa7c7f, 0xc2c17d52, 0x5987b08a, 0xcc983f70, 0xd94d586c, 0xea70658a, |
715 | 0x22a2f4f8, 0xc4df2862, 0x58c542c5, 0xcac933ae, 0xcdb72c7e, 0xf383a3e2, 0x1a4608ab, 0xc78e9a1d, |
716 | 0x57cc15bc, 0xc91af976, 0xc337a8f7, 0xfcdc1342, 0x11a855df, 0xcac933ae, 0x569cc31b, 0xc78e9a1d, |
717 | 0xba08fb09, 0x0645e9af, 0x08df1a8c, 0xce86ff2a, 0x553805f2, 0xc6250a18, 0xb25e054b, 0x0f8cfcbe, |
718 | 0x00000000, 0xd2bec333, 0x539eba45, 0xc4df2862, 0xac6145bb, 0x187de2a7, 0xf720e574, 0xd76619b6, |
719 | 0x51d1dc80, 0xc3bdbdf6, 0xa833ea44, 0x20e70f32, 0xee57aa21, 0xdc71898d, 0x4fd288dc, 0xc2c17d52, |
720 | 0xa5ed18e0, 0x2899e64a, 0xe5b9f755, 0xe1d4a2c8, 0x4da1fab5, 0xc1eb0209, 0xa5996f52, 0x2f6bbe45, |
721 | 0xdd5d0b08, 0xe7821d59, 0x4b418bbe, 0xc13ad060, 0xa73abd3b, 0x3536cc52, 0xd5558381, 0xed6bf9d1, |
722 | 0x48b2b335, 0xc0b15502, 0xaac7fa0e, 0x39daf5e8, 0xcdb72c7e, 0xf383a3e2, 0x45f704f7, 0xc04ee4b8, |
723 | 0xb02d7724, 0x3d3e82ae, 0xc694ce67, 0xf9ba1651, 0x43103085, 0xc013bc39, 0xb74d4ccb, 0x3f4eaafe, |
724 | |
725 | 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x418d2621, 0xfe6deaa1, |
726 | 0x40c7d2bd, 0xff36f170, 0x424ff28f, 0xfda4f351, 0x43103085, 0xfcdc1342, 0x418d2621, 0xfe6deaa1, |
727 | 0x4488e37f, 0xfb4ab7db, 0x4488e37f, 0xfb4ab7db, 0x424ff28f, 0xfda4f351, 0x46aa0d6d, 0xf8f21e8e, |
728 | 0x45f704f7, 0xf9ba1651, 0x43103085, 0xfcdc1342, 0x48b2b335, 0xf69bf7c9, 0x475a5c77, 0xf82a6c6a, |
729 | 0x43cdd89a, 0xfc135231, 0x4aa22036, 0xf4491311, 0x48b2b335, 0xf69bf7c9, 0x4488e37f, 0xfb4ab7db, |
730 | 0x4c77a88e, 0xf1fa3ecb, 0x49ffd417, 0xf50ef5de, 0x454149fc, 0xfa824bfd, 0x4e32a956, 0xefb047f2, |
731 | 0x4b418bbe, 0xf383a3e2, 0x45f704f7, 0xf9ba1651, 0x4fd288dc, 0xed6bf9d1, 0x4c77a88e, 0xf1fa3ecb, |
732 | 0x46aa0d6d, 0xf8f21e8e, 0x5156b6d9, 0xeb2e1dbe, 0x4da1fab5, 0xf0730342, 0x475a5c77, 0xf82a6c6a, |
733 | 0x52beac9f, 0xe8f77acf, 0x4ec05432, 0xeeee2d9d, 0x4807eb4b, 0xf7630799, 0x5409ed4b, 0xe6c8d59c, |
734 | 0x4fd288dc, 0xed6bf9d1, 0x48b2b335, 0xf69bf7c9, 0x553805f2, 0xe4a2eff6, 0x50d86e6d, 0xebeca36c, |
735 | 0x495aada2, 0xf5d544a7, 0x56488dc5, 0xe28688a4, 0x51d1dc80, 0xea70658a, 0x49ffd417, 0xf50ef5de, |
736 | 0x573b2635, 0xe0745b24, 0x52beac9f, 0xe8f77acf, 0x4aa22036, 0xf4491311, 0x580f7b19, 0xde6d1f65, |
737 | 0x539eba45, 0xe7821d59, 0x4b418bbe, 0xf383a3e2, 0x58c542c5, 0xdc71898d, 0x5471e2e6, 0xe61086bc, |
738 | 0x4bde1089, 0xf2beafed, 0x595c3e2a, 0xda8249b4, 0x553805f2, 0xe4a2eff6, 0x4c77a88e, 0xf1fa3ecb, |
739 | 0x59d438e5, 0xd8a00bae, 0x55f104dc, 0xe3399167, 0x4d0e4de2, 0xf136580d, 0x5a2d0957, 0xd6cb76c9, |
740 | 0x569cc31b, 0xe1d4a2c8, 0x4da1fab5, 0xf0730342, 0x5a6690ae, 0xd5052d97, 0x573b2635, 0xe0745b24, |
741 | 0x4e32a956, 0xefb047f2, 0x5a80baf6, 0xd34dcdb4, 0x57cc15bc, 0xdf18f0ce, 0x4ec05432, 0xeeee2d9d, |
742 | 0x5a7b7f1a, 0xd1a5ef90, 0x584f7b58, 0xddc29958, 0x4f4af5d1, 0xee2cbbc1, 0x5a56deec, 0xd00e2639, |
743 | 0x58c542c5, 0xdc71898d, 0x4fd288dc, 0xed6bf9d1, 0x5a12e720, 0xce86ff2a, 0x592d59da, 0xdb25f566, |
744 | 0x50570819, 0xecabef3d, 0x59afaf4c, 0xcd110216, 0x5987b08a, 0xd9e01006, 0x50d86e6d, 0xebeca36c, |
745 | 0x592d59da, 0xcbacb0bf, 0x59d438e5, 0xd8a00bae, 0x5156b6d9, 0xeb2e1dbe, 0x588c1404, 0xca5a86c4, |
746 | 0x5a12e720, 0xd76619b6, 0x51d1dc80, 0xea70658a, 0x57cc15bc, 0xc91af976, 0x5a43b190, 0xd6326a88, |
747 | 0x5249daa2, 0xe9b38223, 0x56eda1a0, 0xc7ee77b3, 0x5a6690ae, 0xd5052d97, 0x52beac9f, 0xe8f77acf, |
748 | 0x55f104dc, 0xc6d569be, 0x5a7b7f1a, 0xd3de9156, 0x53304df6, 0xe83c56cf, 0x54d69714, 0xc5d03118, |
749 | 0x5a82799a, 0xd2bec333, 0x539eba45, 0xe7821d59, 0x539eba45, 0xc4df2862, 0x5a7b7f1a, 0xd1a5ef90, |
750 | 0x5409ed4b, 0xe6c8d59c, 0x5249daa2, 0xc402a33c, 0x5a6690ae, 0xd09441bb, 0x5471e2e6, 0xe61086bc, |
751 | 0x50d86e6d, 0xc33aee27, 0x5a43b190, 0xcf89e3e8, 0x54d69714, 0xe55937d5, 0x4f4af5d1, 0xc2884e6e, |
752 | 0x5a12e720, 0xce86ff2a, 0x553805f2, 0xe4a2eff6, 0x4da1fab5, 0xc1eb0209, 0x59d438e5, 0xcd8bbb6d, |
753 | 0x55962bc0, 0xe3edb628, 0x4bde1089, 0xc1633f8a, 0x5987b08a, 0xcc983f70, 0x55f104dc, 0xe3399167, |
754 | 0x49ffd417, 0xc0f1360b, 0x592d59da, 0xcbacb0bf, 0x56488dc5, 0xe28688a4, 0x4807eb4b, 0xc0950d1d, |
755 | 0x58c542c5, 0xcac933ae, 0x569cc31b, 0xe1d4a2c8, 0x45f704f7, 0xc04ee4b8, 0x584f7b58, 0xc9edeb50, |
756 | 0x56eda1a0, 0xe123e6ad, 0x43cdd89a, 0xc01ed535, 0x57cc15bc, 0xc91af976, 0x573b2635, 0xe0745b24, |
757 | 0x418d2621, 0xc004ef3f, 0x573b2635, 0xc8507ea7, 0x57854ddd, 0xdfc606f1, 0x3f35b59d, 0xc0013bd3, |
758 | 0x569cc31b, 0xc78e9a1d, 0x57cc15bc, 0xdf18f0ce, 0x3cc85709, 0xc013bc39, 0x55f104dc, 0xc6d569be, |
759 | 0x580f7b19, 0xde6d1f65, 0x3a45e1f7, 0xc03c6a07, 0x553805f2, 0xc6250a18, 0x584f7b58, 0xddc29958, |
760 | 0x37af354c, 0xc07b371e, 0x5471e2e6, 0xc57d965d, 0x588c1404, 0xdd196538, 0x350536f1, 0xc0d00db6, |
761 | 0x539eba45, 0xc4df2862, 0x58c542c5, 0xdc71898d, 0x3248d382, 0xc13ad060, 0x52beac9f, 0xc449d892, |
762 | 0x58fb0568, 0xdbcb0cce, 0x2f7afdfc, 0xc1bb5a11, 0x51d1dc80, 0xc3bdbdf6, 0x592d59da, 0xdb25f566, |
763 | 0x2c9caf6c, 0xc2517e31, 0x50d86e6d, 0xc33aee27, 0x595c3e2a, 0xda8249b4, 0x29aee694, 0xc2fd08a9, |
764 | 0x4fd288dc, 0xc2c17d52, 0x5987b08a, 0xd9e01006, 0x26b2a794, 0xc3bdbdf6, 0x4ec05432, 0xc2517e31, |
765 | 0x59afaf4c, 0xd93f4e9e, 0x23a8fb93, 0xc4935b3c, 0x4da1fab5, 0xc1eb0209, 0x59d438e5, 0xd8a00bae, |
766 | 0x2092f05f, 0xc57d965d, 0x4c77a88e, 0xc18e18a7, 0x59f54bee, 0xd8024d59, 0x1d719810, 0xc67c1e18, |
767 | 0x4b418bbe, 0xc13ad060, 0x5a12e720, 0xd76619b6, 0x1a4608ab, 0xc78e9a1d, 0x49ffd417, 0xc0f1360b, |
768 | 0x5a2d0957, 0xd6cb76c9, 0x17115bc0, 0xc8b4ab32, 0x48b2b335, 0xc0b15502, 0x5a43b190, 0xd6326a88, |
769 | 0x13d4ae08, 0xc9edeb50, 0x475a5c77, 0xc07b371e, 0x5a56deec, 0xd59afadb, 0x10911f04, 0xcb39edca, |
770 | 0x45f704f7, 0xc04ee4b8, 0x5a6690ae, 0xd5052d97, 0x0d47d096, 0xcc983f70, 0x4488e37f, 0xc02c64a6, |
771 | 0x5a72c63b, 0xd4710883, 0x09f9e6a1, 0xce0866b8, 0x43103085, 0xc013bc39, 0x5a7b7f1a, 0xd3de9156, |
772 | 0x06a886a0, 0xcf89e3e8, 0x418d2621, 0xc004ef3f, 0x5a80baf6, 0xd34dcdb4, 0x0354d741, 0xd11c3142, |
773 | 0x40000000, 0xc0000000, 0x5a82799a, 0xd2bec333, 0x00000000, 0xd2bec333, 0x3e68fb62, 0xc004ef3f, |
774 | 0x5a80baf6, 0xd2317756, 0xfcab28bf, 0xd4710883, 0x3cc85709, 0xc013bc39, 0x5a7b7f1a, 0xd1a5ef90, |
775 | 0xf9577960, 0xd6326a88, 0x3b1e5335, 0xc02c64a6, 0x5a72c63b, 0xd11c3142, 0xf606195f, 0xd8024d59, |
776 | 0x396b3199, 0xc04ee4b8, 0x5a6690ae, 0xd09441bb, 0xf2b82f6a, 0xd9e01006, 0x37af354c, 0xc07b371e, |
777 | 0x5a56deec, 0xd00e2639, 0xef6ee0fc, 0xdbcb0cce, 0x35eaa2c7, 0xc0b15502, 0x5a43b190, 0xcf89e3e8, |
778 | 0xec2b51f8, 0xddc29958, 0x341dbfd3, 0xc0f1360b, 0x5a2d0957, 0xcf077fe1, 0xe8eea440, 0xdfc606f1, |
779 | 0x3248d382, 0xc13ad060, 0x5a12e720, 0xce86ff2a, 0xe5b9f755, 0xe1d4a2c8, 0x306c2624, 0xc18e18a7, |
780 | 0x59f54bee, 0xce0866b8, 0xe28e67f0, 0xe3edb628, 0x2e88013a, 0xc1eb0209, 0x59d438e5, 0xcd8bbb6d, |
781 | 0xdf6d0fa1, 0xe61086bc, 0x2c9caf6c, 0xc2517e31, 0x59afaf4c, 0xcd110216, 0xdc57046d, 0xe83c56cf, |
782 | 0x2aaa7c7f, 0xc2c17d52, 0x5987b08a, 0xcc983f70, 0xd94d586c, 0xea70658a, 0x28b1b544, 0xc33aee27, |
783 | 0x595c3e2a, 0xcc217822, 0xd651196c, 0xecabef3d, 0x26b2a794, 0xc3bdbdf6, 0x592d59da, 0xcbacb0bf, |
784 | 0xd3635094, 0xeeee2d9d, 0x24ada23d, 0xc449d892, 0x58fb0568, 0xcb39edca, 0xd0850204, 0xf136580d, |
785 | 0x22a2f4f8, 0xc4df2862, 0x58c542c5, 0xcac933ae, 0xcdb72c7e, 0xf383a3e2, 0x2092f05f, 0xc57d965d, |
786 | 0x588c1404, 0xca5a86c4, 0xcafac90f, 0xf5d544a7, 0x1e7de5df, 0xc6250a18, 0x584f7b58, 0xc9edeb50, |
787 | 0xc850cab4, 0xf82a6c6a, 0x1c6427a9, 0xc6d569be, 0x580f7b19, 0xc9836582, 0xc5ba1e09, 0xfa824bfd, |
788 | 0x1a4608ab, 0xc78e9a1d, 0x57cc15bc, 0xc91af976, 0xc337a8f7, 0xfcdc1342, 0x1823dc7d, 0xc8507ea7, |
789 | 0x57854ddd, 0xc8b4ab32, 0xc0ca4a63, 0xff36f170, 0x15fdf758, 0xc91af976, 0x573b2635, 0xc8507ea7, |
790 | 0xbe72d9df, 0x0192155f, 0x13d4ae08, 0xc9edeb50, 0x56eda1a0, 0xc7ee77b3, 0xbc322766, 0x03ecadcf, |
791 | 0x11a855df, 0xcac933ae, 0x569cc31b, 0xc78e9a1d, 0xba08fb09, 0x0645e9af, 0x0f7944a7, 0xcbacb0bf, |
792 | 0x56488dc5, 0xc730e997, 0xb7f814b5, 0x089cf867, 0x0d47d096, 0xcc983f70, 0x55f104dc, 0xc6d569be, |
793 | 0xb6002be9, 0x0af10a22, 0x0b145041, 0xcd8bbb6d, 0x55962bc0, 0xc67c1e18, 0xb421ef77, 0x0d415013, |
794 | 0x08df1a8c, 0xce86ff2a, 0x553805f2, 0xc6250a18, 0xb25e054b, 0x0f8cfcbe, 0x06a886a0, 0xcf89e3e8, |
795 | 0x54d69714, 0xc5d03118, 0xb0b50a2f, 0x11d3443f, 0x0470ebdc, 0xd09441bb, 0x5471e2e6, 0xc57d965d, |
796 | 0xaf279193, 0x14135c94, 0x0238a1c6, 0xd1a5ef90, 0x5409ed4b, 0xc52d3d18, 0xadb6255e, 0x164c7ddd, |
797 | 0x00000000, 0xd2bec333, 0x539eba45, 0xc4df2862, 0xac6145bb, 0x187de2a7, 0xfdc75e3a, 0xd3de9156, |
798 | 0x53304df6, 0xc4935b3c, 0xab2968ec, 0x1aa6c82b, 0xfb8f1424, 0xd5052d97, 0x52beac9f, 0xc449d892, |
799 | 0xaa0efb24, 0x1cc66e99, 0xf9577960, 0xd6326a88, 0x5249daa2, 0xc402a33c, 0xa9125e60, 0x1edc1953, |
800 | 0xf720e574, 0xd76619b6, 0x51d1dc80, 0xc3bdbdf6, 0xa833ea44, 0x20e70f32, 0xf4ebafbf, 0xd8a00bae, |
801 | 0x5156b6d9, 0xc37b2b6a, 0xa773ebfc, 0x22e69ac8, 0xf2b82f6a, 0xd9e01006, 0x50d86e6d, 0xc33aee27, |
802 | 0xa6d2a626, 0x24da0a9a, 0xf086bb59, 0xdb25f566, 0x50570819, 0xc2fd08a9, 0xa65050b4, 0x26c0b162, |
803 | 0xee57aa21, 0xdc71898d, 0x4fd288dc, 0xc2c17d52, 0xa5ed18e0, 0x2899e64a, 0xec2b51f8, 0xddc29958, |
804 | 0x4f4af5d1, 0xc2884e6e, 0xa5a92114, 0x2a650525, 0xea0208a8, 0xdf18f0ce, 0x4ec05432, 0xc2517e31, |
805 | 0xa58480e6, 0x2c216eaa, 0xe7dc2383, 0xe0745b24, 0x4e32a956, 0xc21d0eb8, 0xa57f450a, 0x2dce88aa, |
806 | 0xe5b9f755, 0xe1d4a2c8, 0x4da1fab5, 0xc1eb0209, 0xa5996f52, 0x2f6bbe45, 0xe39bd857, 0xe3399167, |
807 | 0x4d0e4de2, 0xc1bb5a11, 0xa5d2f6a9, 0x30f8801f, 0xe1821a21, 0xe4a2eff6, 0x4c77a88e, 0xc18e18a7, |
808 | 0xa62bc71b, 0x32744493, 0xdf6d0fa1, 0xe61086bc, 0x4bde1089, 0xc1633f8a, 0xa6a3c1d6, 0x33de87de, |
809 | 0xdd5d0b08, 0xe7821d59, 0x4b418bbe, 0xc13ad060, 0xa73abd3b, 0x3536cc52, 0xdb525dc3, 0xe8f77acf, |
810 | 0x4aa22036, 0xc114ccb9, 0xa7f084e7, 0x367c9a7e, 0xd94d586c, 0xea70658a, 0x49ffd417, 0xc0f1360b, |
811 | 0xa8c4d9cb, 0x37af8159, 0xd74e4abc, 0xebeca36c, 0x495aada2, 0xc0d00db6, 0xa9b7723b, 0x38cf1669, |
812 | 0xd5558381, 0xed6bf9d1, 0x48b2b335, 0xc0b15502, 0xaac7fa0e, 0x39daf5e8, 0xd3635094, 0xeeee2d9d, |
813 | 0x4807eb4b, 0xc0950d1d, 0xabf612b5, 0x3ad2c2e8, 0xd177fec6, 0xf0730342, 0x475a5c77, 0xc07b371e, |
814 | 0xad415361, 0x3bb6276e, 0xcf93d9dc, 0xf1fa3ecb, 0x46aa0d6d, 0xc063d405, 0xaea94927, 0x3c84d496, |
815 | 0xcdb72c7e, 0xf383a3e2, 0x45f704f7, 0xc04ee4b8, 0xb02d7724, 0x3d3e82ae, 0xcbe2402d, 0xf50ef5de, |
816 | 0x454149fc, 0xc03c6a07, 0xb1cd56aa, 0x3de2f148, 0xca155d39, 0xf69bf7c9, 0x4488e37f, 0xc02c64a6, |
817 | 0xb3885772, 0x3e71e759, 0xc850cab4, 0xf82a6c6a, 0x43cdd89a, 0xc01ed535, 0xb55ddfca, 0x3eeb3347, |
818 | 0xc694ce67, 0xf9ba1651, 0x43103085, 0xc013bc39, 0xb74d4ccb, 0x3f4eaafe, 0xc4e1accb, 0xfb4ab7db, |
819 | 0x424ff28f, 0xc00b1a20, 0xb955f293, 0x3f9c2bfb, 0xc337a8f7, 0xfcdc1342, 0x418d2621, 0xc004ef3f, |
820 | 0xbb771c81, 0x3fd39b5a, 0xc197049e, 0xfe6deaa1, 0x40c7d2bd, 0xc0013bd3, 0xbdb00d71, 0x3ff4e5e0, |
821 | }; |
822 | |
823 | const int twidTabEven[4 * 6 + 16 * 6 + 64 * 6] = { |
824 | 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x5a82799a, 0xd2bec333, |
825 | 0x539eba45, 0xe7821d59, 0x539eba45, 0xc4df2862, 0x40000000, 0xc0000000, 0x5a82799a, 0xd2bec333, |
826 | 0x00000000, 0xd2bec333, 0x00000000, 0xd2bec333, 0x539eba45, 0xc4df2862, 0xac6145bb, 0x187de2a7, |
827 | |
828 | 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x4b418bbe, 0xf383a3e2, |
829 | 0x45f704f7, 0xf9ba1651, 0x4fd288dc, 0xed6bf9d1, 0x539eba45, 0xe7821d59, 0x4b418bbe, 0xf383a3e2, |
830 | 0x58c542c5, 0xdc71898d, 0x58c542c5, 0xdc71898d, 0x4fd288dc, 0xed6bf9d1, 0x5a12e720, 0xce86ff2a, |
831 | 0x5a82799a, 0xd2bec333, 0x539eba45, 0xe7821d59, 0x539eba45, 0xc4df2862, 0x58c542c5, 0xcac933ae, |
832 | 0x569cc31b, 0xe1d4a2c8, 0x45f704f7, 0xc04ee4b8, 0x539eba45, 0xc4df2862, 0x58c542c5, 0xdc71898d, |
833 | 0x3248d382, 0xc13ad060, 0x4b418bbe, 0xc13ad060, 0x5a12e720, 0xd76619b6, 0x1a4608ab, 0xc78e9a1d, |
834 | 0x40000000, 0xc0000000, 0x5a82799a, 0xd2bec333, 0x00000000, 0xd2bec333, 0x3248d382, 0xc13ad060, |
835 | 0x5a12e720, 0xce86ff2a, 0xe5b9f755, 0xe1d4a2c8, 0x22a2f4f8, 0xc4df2862, 0x58c542c5, 0xcac933ae, |
836 | 0xcdb72c7e, 0xf383a3e2, 0x11a855df, 0xcac933ae, 0x569cc31b, 0xc78e9a1d, 0xba08fb09, 0x0645e9af, |
837 | 0x00000000, 0xd2bec333, 0x539eba45, 0xc4df2862, 0xac6145bb, 0x187de2a7, 0xee57aa21, 0xdc71898d, |
838 | 0x4fd288dc, 0xc2c17d52, 0xa5ed18e0, 0x2899e64a, 0xdd5d0b08, 0xe7821d59, 0x4b418bbe, 0xc13ad060, |
839 | 0xa73abd3b, 0x3536cc52, 0xcdb72c7e, 0xf383a3e2, 0x45f704f7, 0xc04ee4b8, 0xb02d7724, 0x3d3e82ae, |
840 | |
841 | 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x40000000, 0x00000000, 0x43103085, 0xfcdc1342, |
842 | 0x418d2621, 0xfe6deaa1, 0x4488e37f, 0xfb4ab7db, 0x45f704f7, 0xf9ba1651, 0x43103085, 0xfcdc1342, |
843 | 0x48b2b335, 0xf69bf7c9, 0x48b2b335, 0xf69bf7c9, 0x4488e37f, 0xfb4ab7db, 0x4c77a88e, 0xf1fa3ecb, |
844 | 0x4b418bbe, 0xf383a3e2, 0x45f704f7, 0xf9ba1651, 0x4fd288dc, 0xed6bf9d1, 0x4da1fab5, 0xf0730342, |
845 | 0x475a5c77, 0xf82a6c6a, 0x52beac9f, 0xe8f77acf, 0x4fd288dc, 0xed6bf9d1, 0x48b2b335, 0xf69bf7c9, |
846 | 0x553805f2, 0xe4a2eff6, 0x51d1dc80, 0xea70658a, 0x49ffd417, 0xf50ef5de, 0x573b2635, 0xe0745b24, |
847 | 0x539eba45, 0xe7821d59, 0x4b418bbe, 0xf383a3e2, 0x58c542c5, 0xdc71898d, 0x553805f2, 0xe4a2eff6, |
848 | 0x4c77a88e, 0xf1fa3ecb, 0x59d438e5, 0xd8a00bae, 0x569cc31b, 0xe1d4a2c8, 0x4da1fab5, 0xf0730342, |
849 | 0x5a6690ae, 0xd5052d97, 0x57cc15bc, 0xdf18f0ce, 0x4ec05432, 0xeeee2d9d, 0x5a7b7f1a, 0xd1a5ef90, |
850 | 0x58c542c5, 0xdc71898d, 0x4fd288dc, 0xed6bf9d1, 0x5a12e720, 0xce86ff2a, 0x5987b08a, 0xd9e01006, |
851 | 0x50d86e6d, 0xebeca36c, 0x592d59da, 0xcbacb0bf, 0x5a12e720, 0xd76619b6, 0x51d1dc80, 0xea70658a, |
852 | 0x57cc15bc, 0xc91af976, 0x5a6690ae, 0xd5052d97, 0x52beac9f, 0xe8f77acf, 0x55f104dc, 0xc6d569be, |
853 | 0x5a82799a, 0xd2bec333, 0x539eba45, 0xe7821d59, 0x539eba45, 0xc4df2862, 0x5a6690ae, 0xd09441bb, |
854 | 0x5471e2e6, 0xe61086bc, 0x50d86e6d, 0xc33aee27, 0x5a12e720, 0xce86ff2a, 0x553805f2, 0xe4a2eff6, |
855 | 0x4da1fab5, 0xc1eb0209, 0x5987b08a, 0xcc983f70, 0x55f104dc, 0xe3399167, 0x49ffd417, 0xc0f1360b, |
856 | 0x58c542c5, 0xcac933ae, 0x569cc31b, 0xe1d4a2c8, 0x45f704f7, 0xc04ee4b8, 0x57cc15bc, 0xc91af976, |
857 | 0x573b2635, 0xe0745b24, 0x418d2621, 0xc004ef3f, 0x569cc31b, 0xc78e9a1d, 0x57cc15bc, 0xdf18f0ce, |
858 | 0x3cc85709, 0xc013bc39, 0x553805f2, 0xc6250a18, 0x584f7b58, 0xddc29958, 0x37af354c, 0xc07b371e, |
859 | 0x539eba45, 0xc4df2862, 0x58c542c5, 0xdc71898d, 0x3248d382, 0xc13ad060, 0x51d1dc80, 0xc3bdbdf6, |
860 | 0x592d59da, 0xdb25f566, 0x2c9caf6c, 0xc2517e31, 0x4fd288dc, 0xc2c17d52, 0x5987b08a, 0xd9e01006, |
861 | 0x26b2a794, 0xc3bdbdf6, 0x4da1fab5, 0xc1eb0209, 0x59d438e5, 0xd8a00bae, 0x2092f05f, 0xc57d965d, |
862 | 0x4b418bbe, 0xc13ad060, 0x5a12e720, 0xd76619b6, 0x1a4608ab, 0xc78e9a1d, 0x48b2b335, 0xc0b15502, |
863 | 0x5a43b190, 0xd6326a88, 0x13d4ae08, 0xc9edeb50, 0x45f704f7, 0xc04ee4b8, 0x5a6690ae, 0xd5052d97, |
864 | 0x0d47d096, 0xcc983f70, 0x43103085, 0xc013bc39, 0x5a7b7f1a, 0xd3de9156, 0x06a886a0, 0xcf89e3e8, |
865 | 0x40000000, 0xc0000000, 0x5a82799a, 0xd2bec333, 0x00000000, 0xd2bec333, 0x3cc85709, 0xc013bc39, |
866 | 0x5a7b7f1a, 0xd1a5ef90, 0xf9577960, 0xd6326a88, 0x396b3199, 0xc04ee4b8, 0x5a6690ae, 0xd09441bb, |
867 | 0xf2b82f6a, 0xd9e01006, 0x35eaa2c7, 0xc0b15502, 0x5a43b190, 0xcf89e3e8, 0xec2b51f8, 0xddc29958, |
868 | 0x3248d382, 0xc13ad060, 0x5a12e720, 0xce86ff2a, 0xe5b9f755, 0xe1d4a2c8, 0x2e88013a, 0xc1eb0209, |
869 | 0x59d438e5, 0xcd8bbb6d, 0xdf6d0fa1, 0xe61086bc, 0x2aaa7c7f, 0xc2c17d52, 0x5987b08a, 0xcc983f70, |
870 | 0xd94d586c, 0xea70658a, 0x26b2a794, 0xc3bdbdf6, 0x592d59da, 0xcbacb0bf, 0xd3635094, 0xeeee2d9d, |
871 | 0x22a2f4f8, 0xc4df2862, 0x58c542c5, 0xcac933ae, 0xcdb72c7e, 0xf383a3e2, 0x1e7de5df, 0xc6250a18, |
872 | 0x584f7b58, 0xc9edeb50, 0xc850cab4, 0xf82a6c6a, 0x1a4608ab, 0xc78e9a1d, 0x57cc15bc, 0xc91af976, |
873 | 0xc337a8f7, 0xfcdc1342, 0x15fdf758, 0xc91af976, 0x573b2635, 0xc8507ea7, 0xbe72d9df, 0x0192155f, |
874 | 0x11a855df, 0xcac933ae, 0x569cc31b, 0xc78e9a1d, 0xba08fb09, 0x0645e9af, 0x0d47d096, 0xcc983f70, |
875 | 0x55f104dc, 0xc6d569be, 0xb6002be9, 0x0af10a22, 0x08df1a8c, 0xce86ff2a, 0x553805f2, 0xc6250a18, |
876 | 0xb25e054b, 0x0f8cfcbe, 0x0470ebdc, 0xd09441bb, 0x5471e2e6, 0xc57d965d, 0xaf279193, 0x14135c94, |
877 | 0x00000000, 0xd2bec333, 0x539eba45, 0xc4df2862, 0xac6145bb, 0x187de2a7, 0xfb8f1424, 0xd5052d97, |
878 | 0x52beac9f, 0xc449d892, 0xaa0efb24, 0x1cc66e99, 0xf720e574, 0xd76619b6, 0x51d1dc80, 0xc3bdbdf6, |
879 | 0xa833ea44, 0x20e70f32, 0xf2b82f6a, 0xd9e01006, 0x50d86e6d, 0xc33aee27, 0xa6d2a626, 0x24da0a9a, |
880 | 0xee57aa21, 0xdc71898d, 0x4fd288dc, 0xc2c17d52, 0xa5ed18e0, 0x2899e64a, 0xea0208a8, 0xdf18f0ce, |
881 | 0x4ec05432, 0xc2517e31, 0xa58480e6, 0x2c216eaa, 0xe5b9f755, 0xe1d4a2c8, 0x4da1fab5, 0xc1eb0209, |
882 | 0xa5996f52, 0x2f6bbe45, 0xe1821a21, 0xe4a2eff6, 0x4c77a88e, 0xc18e18a7, 0xa62bc71b, 0x32744493, |
883 | 0xdd5d0b08, 0xe7821d59, 0x4b418bbe, 0xc13ad060, 0xa73abd3b, 0x3536cc52, 0xd94d586c, 0xea70658a, |
884 | 0x49ffd417, 0xc0f1360b, 0xa8c4d9cb, 0x37af8159, 0xd5558381, 0xed6bf9d1, 0x48b2b335, 0xc0b15502, |
885 | 0xaac7fa0e, 0x39daf5e8, 0xd177fec6, 0xf0730342, 0x475a5c77, 0xc07b371e, 0xad415361, 0x3bb6276e, |
886 | 0xcdb72c7e, 0xf383a3e2, 0x45f704f7, 0xc04ee4b8, 0xb02d7724, 0x3d3e82ae, 0xca155d39, 0xf69bf7c9, |
887 | 0x4488e37f, 0xc02c64a6, 0xb3885772, 0x3e71e759, 0xc694ce67, 0xf9ba1651, 0x43103085, 0xc013bc39, |
888 | 0xb74d4ccb, 0x3f4eaafe, 0xc337a8f7, 0xfcdc1342, 0x418d2621, 0xc004ef3f, 0xbb771c81, 0x3fd39b5a, |
889 | }; |
890 | |
891 | /* for reference, here's the code to generate the bitreverse tables |
892 | |
893 | static int bitrev(int n, int nbits) |
894 | { |
895 | int r, i; |
896 | |
897 | r = 0; |
898 | for (i = 0; i < nbits; i++) { |
899 | r <<= 1; |
900 | r |= (n & 1); |
901 | n >>= 1; |
902 | } |
903 | |
904 | return r; |
905 | } |
906 | |
907 | static void InitBitrevTable(unsigned char *out, int nbits) |
908 | { |
909 | int i, t; |
910 | |
911 | for (i = 0; i < (1<<nbits); i++) { |
912 | / *** do not register the same transposition twice *** / |
913 | t = bitrev(i,nbits); |
914 | if (i < t) { |
915 | *out++ = (unsigned char)i; |
916 | *out++ = (unsigned char)t; |
917 | } |
918 | } |
919 | |
920 | / *** no need to write a sentinel (or rather, the first entry in the |
921 | * table for symetric codes will be 0, which serves as the sentinel) |
922 | *** / |
923 | for (i = 0; i < (1<<nbits); i++) { |
924 | t = bitrev(i,nbits); |
925 | if (i == t) / *** symmetric codes get special treatment *** / |
926 | *out++ = (unsigned char)t; |
927 | } |
928 | *out++ = 0; / *** second sentinel is 0, again *** / |
929 | } |
930 | |
931 | */ |
932 | |
933 |