mirror of https://github.com/g4klx/MMDVM.git
More efficient CTCSS tone generation.
This commit is contained in:
parent
bbe56f5082
commit
4a5f985d02
142
FMCTCSSTX.cpp
142
FMCTCSSTX.cpp
|
@ -20,92 +20,108 @@
|
|||
#include "Globals.h"
|
||||
#include "FMCTCSSTX.h"
|
||||
|
||||
const CTCSS_TABLE CTCSS_TONES[] = {
|
||||
{67U, 358U, {0, 575, 1149, 1724, 2297, 2870, 3442, 4013, 4583, 5151, 5718, 6283, 6846, 7407, 7966, 8522, 9076, 9627, 10175, 10720, 11261, 11799, 12333, 12864, 13391, 13913, 14431, 14945, 15454, 15959, 16458, 16953, 17442, 17926, 18404, 18877, 19344, 19805, 20260, 20708, 21150, 21586, 22015, 22437, 22853, 23261, 23663, 24056, 24443, 24822, 25193, 25557, 25913, 26261, 26600, 26932, 27255, 27570, 27876, 28174, 28463, 28744, 29015, 29278, 29531, 29776, 30011, 30237, 30454, 30662, 30860, 31048, 31227, 31397, 31556, 31706, 31847, 31977, 32098, 32208, 32309, 32400, 32481, 32552, 32613, 32664, 32704, 32735, 32756, 32766, 32767, 32757, 32738, 32708, 32668, 32619, 32559, 32489, 32409, 32319, 32219, 32110, 31990, 31861, 31721, 31572, 31414, 31245, 31067, 30880, 30683, 30476, 30261, 30035, 29801, 29557, 29305, 29043, 28772, 28493, 28205, 27908, 27602, 27288, 26966, 26635, 26296, 25950, 25595, 25232, 24861, 24483, 24097, 23704, 23304, 22896, 22481, 22060, 21631, 21196, 20755, 20307, 19852, 19392, 18926, 18454, 17976, 17493, 17004, 16510, 16011, 15507, 14999, 14485, 13967, 13445, 12919, 12389, 11855, 11317, 10776, 10232, 9684, 9134, 8580, 8024, 7466, 6905, 6342, 5777, 5211, 4643, 4073, 3502, 2930, 2357, 1783, 1209, 635, 60, -514, -1088, -1663, -2236, -2809, -3382, -3953, -4523, -5091, -5658, -6223, -6787, -7348, -7907, -8463, -9017, -9568, -10117, -10662, -11204, -11742, -12277, -12808, -13335, -13858, -14376, -14891, -15400, -15905, -16405, -16900, -17390, -17875, -18353, -18827, -19294, -19756, -20211, -20661, -21103, -21540, -21970, -22393, -22809, -23218, -23620, -24015, -24402, -24782, -25154, -25518, -25875, -26224, -26564, -26897, -27221, -27536, -27844, -28142, -28433, -28714, -28986, -29250, -29504, -29750, -29986, -30213, -30431, -30639, -30838, -31028, -31208, -31378, -31539, -31690, -31831, -31963, -32084, -32196, -32298, -32390, -32472, -32544, -32606, -32658, -32700, -32731, -32753, -32765, -32766, -32758, -32739, -32711, -32672, -32623, -32564, -32496, -32417, -32328, -32229, -32121, -32002, -31874, -31735, -31587, -31430, -31262, -31085, -30899, -30703, -30497, -30283, -30058, -29825, -29582, -29331, -29070, -28800, -28522, -28234, -27938, -27634, -27321, -26999, -26669, -26331, -25985, -25631, -25269, -24899, -24522, -24137, -23744, -23345, -22938, -22524, -22103, -21675, -21241, -20800, -20353, -19899, -19440, -18974, -18502, -18025, -17542, -17054, -16561, -16063, -15559, -15051, -14538, -14021, -13499, -12973, -12444, -11910, -11373, -10832, -10288, -9741, -9190, -8637, -8082, -7523, -6963, -6400, -5835, -5269, -4701, -4131, -3561, -2989, -2416, -1842, -1268, -694}},
|
||||
{69U, 346U, {0, 594, 1189, 1783, 2376, 2968, 3560, 4150, 4739, 5327, 5912, 6496, 7078, 7657, 8234, 8808, 9379, 9947, 10512, 11073, 11631, 12185, 12734, 13280, 13821, 14358, 14890, 15417, 15939, 16456, 16967, 17473, 17973, 18467, 18955, 19437, 19912, 20381, 20843, 21299, 21747, 22188, 22622, 23048, 23467, 23878, 24281, 24676, 25063, 25442, 25813, 26175, 26528, 26873, 27208, 27535, 27853, 28161, 28461, 28751, 29031, 29302, 29563, 29815, 30057, 30288, 30510, 30722, 30924, 31115, 31297, 31468, 31628, 31778, 31918, 32047, 32166, 32274, 32372, 32459, 32535, 32600, 32655, 32699, 32732, 32755, 32766, 32767, 32757, 32736, 32705, 32663, 32610, 32546, 32472, 32386, 32291, 32184, 32067, 31940, 31802, 31653, 31494, 31325, 31145, 30955, 30755, 30545, 30325, 30094, 29854, 29604, 29345, 29075, 28796, 28508, 28210, 27903, 27587, 27261, 26927, 26584, 26232, 25871, 25502, 25125, 24739, 24345, 23943, 23533, 23116, 22691, 22258, 21818, 21371, 20917, 20456, 19988, 19514, 19033, 18546, 18053, 17554, 17049, 16538, 16022, 15501, 14975, 14444, 13908, 13367, 12822, 12273, 11720, 11163, 10602, 10038, 9470, 8900, 8326, 7750, 7171, 6589, 6006, 5421, 4834, 4245, 3655, 3063, 2471, 1878, 1284, 690, 95, -498, -1093, -1687, -2280, -2873, -3464, -4055, -4644, -5232, -5818, -6402, -6984, -7563, -8141, -8715, -9287, -9855, -10421, -10982, -11541, -12095, -12646, -13192, -13734, -14271, -14804, -15332, -15855, -16373, -16885, -17392, -17892, -18388, -18877, -19359, -19836, -20306, -20769, -21225, -21675, -22117, -22552, -22979, -23399, -23812, -24216, -24613, -25001, -25381, -25753, -26116, -26471, -26817, -27154, -27482, -27802, -28112, -28412, -28704, -28986, -29258, -29521, -29774, -30018, -30251, -30474, -30688, -30891, -31084, -31267, -31440, -31602, -31754, -31896, -32026, -32147, -32257, -32356, -32444, -32522, -32589, -32646, -32692, -32727, -32751, -32764, -32767, -32758, -32739, -32710, -32669, -32618, -32556, -32483, -32400, -32306, -32201, -32086, -31960, -31823, -31677, -31519, -31352, -31174, -30985, -30787, -30578, -30360, -30131, -29892, -29644, -29386, -29118, -28841, -28554, -28257, -27952, -27637, -27313, -26980, -26638, -26288, -25929, -25561, -25185, -24800, -24408, -24007, -23599, -23182, -22758, -22327, -21888, -21442, -20989, -20529, -20062, -19589, -19109, -18623, -18131, -17633, -17129, -16619, -16104, -15584, -15059, -14528, -13993, -13453, -12909, -12360, -11808, -11251, -10691, -10127, -9560, -8990, -8417, -7841, -7263, -6682, -6099, -5514, -4927, -4338, -3748, -3157, -2565, -1972, -1378, -784}},
|
||||
{71U, 334U, {0, 617, 1233, 1849, 2465, 3079, 3693, 4305, 4916, 5525, 6132, 6736, 7339, 7939, 8536, 9130, 9720, 10308, 10891, 11471, 12047, 12618, 13185, 13747, 14305, 14857, 15404, 15946, 16482, 17012, 17536, 18054, 18566, 19071, 19569, 20060, 20544, 21021, 21490, 21952, 22406, 22852, 23290, 23720, 24141, 24554, 24958, 25353, 25740, 26117, 26485, 26843, 27192, 27531, 27861, 28181, 28490, 28790, 29080, 29359, 29627, 29886, 30133, 30370, 30596, 30812, 31016, 31210, 31392, 31563, 31724, 31872, 32010, 32136, 32251, 32354, 32446, 32527, 32596, 32653, 32699, 32733, 32756, 32767, 32766, 32754, 32730, 32695, 32648, 32589, 32519, 32438, 32344, 32240, 32124, 31997, 31858, 31708, 31547, 31374, 31191, 30996, 30790, 30574, 30347, 30109, 29860, 29601, 29331, 29051, 28760, 28459, 28149, 27828, 27497, 27157, 26807, 26448, 26079, 25701, 25314, 24918, 24513, 24099, 23677, 23246, 22807, 22360, 21906, 21443, 20973, 20495, 20010, 19518, 19020, 18514, 18002, 17483, 16959, 16428, 15891, 15349, 14801, 14249, 13691, 13128, 12560, 11988, 11412, 10832, 10248, 9661, 9069, 8475, 7878, 7278, 6675, 6070, 5463, 4854, 4243, 3631, 3017, 2402, 1787, 1171, 554, -62, -678, -1295, -1911, -2526, -3141, -3754, -4366, -4977, -5585, -6192, -6797, -7399, -7998, -8595, -9189, -9779, -10366, -10949, -11529, -12104, -12675, -13241, -13803, -14360, -14912, -15459, -16000, -16535, -17065, -17588, -18105, -18616, -19120, -19618, -20108, -20592, -21068, -21537, -21998, -22451, -22896, -23333, -23762, -24183, -24595, -24998, -25392, -25777, -26154, -26520, -26878, -27226, -27564, -27893, -28212, -28520, -28819, -29107, -29385, -29653, -29910, -30157, -30393, -30618, -30832, -31035, -31228, -31409, -31579, -31738, -31886, -32022, -32147, -32261, -32363, -32454, -32533, -32601, -32657, -32702, -32735, -32756, -32766, -32765, -32751, -32726, -32690, -32641, -32582, -32510, -32428, -32333, -32228, -32110, -31982, -31842, -31691, -31529, -31355, -31170, -30975, -30768, -30550, -30322, -30083, -29833, -29573, -29302, -29021, -28729, -28427, -28116, -27794, -27462, -27121, -26770, -26410, -26040, -25661, -25273, -24876, -24470, -24055, -23632, -23201, -22761, -22314, -21858, -21395, -20924, -20445, -19960, -19467, -18968, -18461, -17948, -17429, -16904, -16373, -15835, -15293, -14745, -14191, -13633, -13069, -12502, -11929, -11353, -10772, -10188, -9600, -9008, -8414, -7816, -7216, -6613, -6008, -5400, -4791, -4180, -3567, -2954, -2339, -1723, -1107, -491}},
|
||||
{74U, 323U, {0, 638, 1276, 1914, 2550, 3186, 3821, 4454, 5085, 5715, 6342, 6967, 7589, 8209, 8825, 9438, 10048, 10653, 11255, 11852, 12445, 13033, 13616, 14194, 14766, 15333, 15894, 16449, 16998, 17541, 18076, 18605, 19127, 19642, 20149, 20648, 21140, 21623, 22099, 22566, 23024, 23474, 23915, 24347, 24769, 25182, 25586, 25980, 26364, 26738, 27102, 27455, 27799, 28131, 28453, 28764, 29065, 29354, 29632, 29899, 30154, 30398, 30631, 30852, 31061, 31258, 31444, 31617, 31779, 31929, 32066, 32191, 32305, 32405, 32494, 32570, 32634, 32685, 32725, 32751, 32765, 32767, 32757, 32734, 32698, 32650, 32590, 32517, 32432, 32335, 32226, 32104, 31970, 31824, 31666, 31495, 31313, 31119, 30914, 30696, 30467, 30226, 29974, 29710, 29436, 29150, 28853, 28545, 28226, 27896, 27556, 27205, 26845, 26474, 26092, 25701, 25301, 24890, 24470, 24041, 23603, 23156, 22700, 22235, 21762, 21281, 20792, 20295, 19790, 19277, 18757, 18231, 17697, 17156, 16609, 16056, 15497, 14931, 14360, 13784, 13202, 12616, 12024, 11428, 10828, 10224, 9615, 9003, 8388, 7770, 7148, 6524, 5897, 5268, 4637, 4005, 3371, 2735, 2099, 1461, 823, 185, -452, -1090, -1728, -2365, -3001, -3636, -4269, -4901, -5531, -6159, -6785, -7408, -8028, -8646, -9260, -9870, -10477, -11079, -11678, -12272, -12861, -13446, -14025, -14600, -15168, -15731, -16288, -16838, -17383, -17920, -18451, -18975, -19492, -20001, -20503, -20997, -21483, -21961, -22430, -22891, -23344, -23787, -24221, -24647, -25062, -25469, -25866, -26252, -26629, -26996, -27353, -27699, -28035, -28360, -28674, -28977, -29270, -29551, -29821, -30080, -30328, -30563, -30788, -31000, -31201, -31390, -31567, -31732, -31885, -32026, -32155, -32272, -32376, -32468, -32548, -32616, -32671, -32713, -32744, -32762, -32767, -32760, -32741, -32709, -32664, -32608, -32539, -32457, -32364, -32258, -32139, -32009, -31866, -31712, -31545, -31366, -31176, -30974, -30759, -30534, -30296, -30047, -29787, -29516, -29233, -28939, -28634, -28318, -27992, -27655, -27307, -26949, -26581, -26203, -25815, -25417, -25009, -24592, -24166, -23730, -23286, -22832, -22370, -21900, -21421, -20934, -20439, -19936, -19426, -18908, -18383, -17851, -17313, -16768, -16216, -15659, -15095, -14526, -13951, -13371, -12786, -12196, -11601, -11002, -10399, -9791, -9181, -8566, -7948, -7328, -6704, -6078, -5450, -4820, -4188, -3554, -2919, -2282, -1645, -1008, -370}},
|
||||
{77U, 312U, {0, 661, 1321, 1980, 2639, 3297, 3954, 4609, 5262, 5912, 6561, 7207, 7850, 8489, 9126, 9758, 10387, 11011, 11631, 12246, 12856, 13461, 14061, 14654, 15242, 15824, 16399, 16967, 17529, 18083, 18631, 19170, 19702, 20226, 20741, 21248, 21747, 22237, 22717, 23189, 23651, 24103, 24546, 24978, 25401, 25813, 26214, 26605, 26986, 27355, 27713, 28060, 28395, 28719, 29031, 29332, 29620, 29897, 30161, 30413, 30653, 30880, 31095, 31297, 31486, 31663, 31826, 31977, 32115, 32239, 32351, 32450, 32535, 32607, 32666, 32711, 32743, 32762, 32768, 32760, 32739, 32705, 32657, 32596, 32522, 32435, 32335, 32221, 32094, 31954, 31802, 31636, 31457, 31266, 31062, 30845, 30616, 30374, 30120, 29854, 29576, 29286, 28983, 28669, 28344, 28006, 27658, 27298, 26927, 26545, 26152, 25749, 25335, 24911, 24477, 24033, 23579, 23116, 22643, 22161, 21670, 21170, 20662, 20145, 19620, 19087, 18546, 17998, 17442, 16879, 16310, 15733, 15151, 14562, 13967, 13367, 12761, 12150, 11535, 10914, 10289, 9660, 9027, 8390, 7750, 7106, 6460, 5811, 5160, 4507, 3851, 3195, 2537, 1878, 1218, 558, -102, -762, -1423, -2082, -2741, -3399, -4055, -4709, -5362, -6013, -6661, -7306, -7948, -8588, -9223, -9855, -10483, -11107, -11726, -12340, -12950, -13554, -14152, -14745, -15332, -15913, -16487, -17054, -17615, -18168, -18714, -19253, -19783, -20306, -20820, -21326, -21823, -22311, -22790, -23260, -23721, -24172, -24613, -25044, -25465, -25875, -26275, -26664, -27043, -27410, -27767, -28112, -28445, -28767, -29078, -29376, -29663, -29938, -30200, -30450, -30688, -30913, -31126, -31326, -31513, -31688, -31850, -31998, -32134, -32257, -32366, -32463, -32546, -32616, -32673, -32716, -32746, -32763, -32767, -32757, -32734, -32697, -32648, -32585, -32509, -32419, -32317, -32201, -32072, -31930, -31776, -31608, -31427, -31234, -31028, -30809, -30578, -30335, -30079, -29811, -29530, -29238, -28934, -28618, -28291, -27952, -27601, -27240, -26867, -26484, -26089, -25684, -25269, -24843, -24408, -23962, -23507, -23042, -22567, -22084, -21592, -21090, -20581, -20062, -19536, -19002, -18460, -17910, -17354, -16790, -16219, -15642, -15059, -14469, -13873, -13272, -12665, -12054, -11437, -10816, -10190, -9560, -8927, -8289, -7649, -7005, -6358, -5709, -5057, -4404, -3748, -3091, -2433, -1774, -1114, -454}},
|
||||
{79U, 301U, {0, 684, 1367, 2050, 2732, 3412, 4092, 4769, 5444, 6117, 6788, 7455, 8119, 8780, 9436, 10089, 10737, 11381, 12020, 12653, 13281, 13903, 14519, 15129, 15732, 16328, 16917, 17499, 18073, 18640, 19198, 19748, 20289, 20822, 21345, 21859, 22364, 22858, 23343, 23818, 24282, 24736, 25179, 25611, 26032, 26442, 26840, 27226, 27601, 27963, 28313, 28651, 28977, 29290, 29590, 29877, 30151, 30413, 30661, 30895, 31116, 31324, 31518, 31698, 31864, 32017, 32155, 32280, 32390, 32487, 32569, 32637, 32691, 32731, 32756, 32767, 32764, 32747, 32715, 32669, 32609, 32535, 32447, 32344, 32227, 32097, 31952, 31793, 31621, 31435, 31235, 31022, 30795, 30554, 30301, 30034, 29754, 29461, 29155, 28837, 28506, 28162, 27807, 27439, 27059, 26668, 26265, 25850, 25424, 24988, 24540, 24081, 23613, 23133, 22644, 22145, 21636, 21118, 20591, 20055, 19510, 18956, 18394, 17824, 17247, 16662, 16069, 15470, 14864, 14252, 13633, 13008, 12378, 11742, 11101, 10456, 9806, 9151, 8493, 7830, 7165, 6496, 5825, 5151, 4474, 3796, 3116, 2435, 1753, 1070, 386, -297, -980, -1663, -2346, -3027, -3707, -4386, -5062, -5737, -6409, -7078, -7744, -8406, -9065, -9720, -10371, -11017, -11659, -12295, -12926, -13551, -14171, -14784, -15391, -15991, -16585, -17171, -17749, -18320, -18883, -19437, -19984, -20521, -21050, -21569, -22079, -22579, -23070, -23550, -24020, -24480, -24929, -25368, -25795, -26211, -26615, -27008, -27390, -27759, -28116, -28461, -28794, -29114, -29421, -29716, -29997, -30266, -30521, -30763, -30992, -31207, -31409, -31597, -31771, -31931, -32078, -32210, -32329, -32433, -32523, -32600, -32661, -32709, -32743, -32762, -32767, -32758, -32734, -32696, -32644, -32578, -32497, -32403, -32294, -32171, -32034, -31884, -31719, -31541, -31349, -31143, -30923, -30691, -30444, -30185, -29912, -29627, -29328, -29017, -28693, -28357, -28008, -27647, -27274, -26889, -26493, -26085, -25665, -25235, -24793, -24341, -23878, -23404, -22921, -22427, -21924, -21411, -20889, -20357, -19817, -19269, -18711, -18146, -17573, -16992, -16404, -15808, -15206, -14597, -13982, -13361, -12733, -12101, -11463, -10820, -10172, -9520, -8864, -8204, -7540, -6873, -6203, -5530, -4855, -4178, -3499, -2819, -2137, -1454, -771}},
|
||||
{82U, 291U, {0, 708, 1415, 2122, 2827, 3532, 4235, 4935, 5634, 6330, 7022, 7712, 8398, 9080, 9758, 10431, 11100, 11763, 12421, 13073, 13719, 14358, 14991, 15617, 16235, 16846, 17449, 18044, 18631, 19208, 19777, 20337, 20887, 21428, 21958, 22478, 22988, 23487, 23975, 24452, 24917, 25371, 25813, 26243, 26660, 27066, 27458, 27838, 28205, 28558, 28899, 29226, 29539, 29838, 30124, 30395, 30653, 30896, 31124, 31338, 31538, 31722, 31892, 32047, 32188, 32313, 32423, 32518, 32597, 32662, 32711, 32745, 32764, 32767, 32756, 32729, 32686, 32629, 32556, 32468, 32365, 32246, 32113, 31965, 31802, 31624, 31431, 31223, 31001, 30765, 30514, 30249, 29970, 29677, 29370, 29049, 28715, 28367, 28006, 27632, 27246, 26846, 26434, 26010, 25573, 25125, 24665, 24193, 23710, 23216, 22711, 22196, 21670, 21134, 20588, 20033, 19468, 18894, 18312, 17721, 17121, 16514, 15899, 15276, 14647, 14010, 13367, 12718, 12063, 11402, 10736, 10065, 9389, 8709, 8024, 7336, 6645, 5950, 5253, 4553, 3851, 3148, 2443, 1736, 1029, 322, -385, -1093, -1800, -2506, -3211, -3914, -4616, -5316, -6013, -6707, -7398, -8086, -8770, -9449, -10125, -10796, -11461, -12122, -12776, -13425, -14067, -14703, -15332, -15954, -16568, -17175, -17774, -18364, -18946, -19519, -20083, -20637, -21182, -21717, -22242, -22756, -23260, -23753, -24235, -24706, -25165, -25612, -26048, -26471, -26882, -27280, -27666, -28039, -28398, -28745, -29078, -29397, -29703, -29995, -30273, -30536, -30786, -31021, -31242, -31448, -31639, -31816, -31978, -32125, -32257, -32374, -32475, -32562, -32633, -32690, -32731, -32756, -32767, -32762, -32742, -32706, -32656, -32590, -32509, -32412, -32301, -32174, -32033, -31877, -31705, -31519, -31318, -31103, -30873, -30629, -30370, -30097, -29811, -29510, -29196, -28867, -28526, -28171, -27803, -27422, -27028, -26622, -26203, -25772, -25329, -24874, -24408, -23930, -23441, -22941, -22430, -21909, -21378, -20836, -20285, -19725, -19155, -18577, -17989, -17394, -16790, -16178, -15559, -14933, -14299, -13659, -13013, -12360, -11702, -11038, -10369, -9696, -9017, -8335, -7649, -6959, -6265, -5569, -4871, -4170, -3467, -2762, -2057, -1350, -642}},
|
||||
{85U, 281U, {0, 733, 1465, 2196, 2927, 3655, 4383, 5107, 5830, 6549, 7265, 7978, 8686, 9390, 10090, 10784, 11473, 12157, 12834, 13505, 14169, 14826, 15475, 16117, 16751, 17377, 17993, 18601, 19199, 19788, 20367, 20936, 21494, 22042, 22578, 23104, 23617, 24119, 24609, 25087, 25552, 26004, 26443, 26869, 27282, 27681, 28066, 28437, 28794, 29136, 29464, 29777, 30076, 30359, 30627, 30880, 31117, 31339, 31545, 31736, 31910, 32069, 32211, 32338, 32448, 32542, 32620, 32681, 32726, 32755, 32767, 32763, 32743, 32706, 32653, 32584, 32498, 32396, 32278, 32144, 31994, 31827, 31645, 31447, 31233, 31004, 30759, 30499, 30224, 29933, 29627, 29307, 28972, 28623, 28259, 27881, 27489, 27083, 26664, 26232, 25786, 25328, 24857, 24373, 23877, 23370, 22850, 22320, 21778, 21225, 20662, 20088, 19504, 18910, 18308, 17695, 17074, 16445, 15807, 15162, 14508, 13848, 13180, 12506, 11826, 11140, 10448, 9751, 9050, 8343, 7633, 6919, 6201, 5480, 4756, 4030, 3302, 2573, 1842, 1110, 377, -354, -1087, -1818, -2549, -3279, -4007, -4733, -5457, -6178, -6896, -7610, -8321, -9027, -9729, -10426, -11118, -11804, -12485, -13159, -13827, -14487, -15141, -15787, -16425, -17054, -17676, -18288, -18891, -19485, -20069, -20643, -21207, -21760, -22302, -22833, -23353, -23861, -24357, -24841, -25313, -25772, -26217, -26650, -27070, -27476, -27868, -28246, -28611, -28961, -29296, -29617, -29923, -30214, -30490, -30751, -30996, -31226, -31440, -31638, -31821, -31988, -32139, -32273, -32392, -32494, -32581, -32650, -32704, -32741, -32762, -32767, -32755, -32726, -32682, -32621, -32543, -32450, -32340, -32214, -32072, -31914, -31740, -31550, -31345, -31123, -30886, -30634, -30366, -30084, -29786, -29473, -29145, -28803, -28447, -28076, -27692, -27293, -26881, -26455, -26016, -25565, -25100, -24623, -24133, -23632, -23118, -22594, -22057, -21510, -20952, -20384, -19805, -19216, -18618, -18011, -17394, -16769, -16136, -15494, -14845, -14188, -13524, -12854, -12176, -11493, -10804, -10110, -9411, -8707, -7998, -7286, -6570, -5851, -5128, -4404, -3677, -2948, -2217, -1486, -754}},
|
||||
{88U, 271U, {0, 759, 1518, 2276, 3032, 3788, 4541, 5291, 6039, 6783, 7524, 8261, 8994, 9721, 10444, 11160, 11871, 12575, 13273, 13964, 14647, 15322, 15989, 16647, 17296, 17937, 18567, 19188, 19798, 20397, 20986, 21563, 22129, 22683, 23225, 23754, 24271, 24774, 25265, 25741, 26204, 26653, 27087, 27507, 27912, 28303, 28678, 29037, 29381, 29709, 30022, 30318, 30598, 30861, 31108, 31338, 31552, 31748, 31928, 32090, 32235, 32363, 32473, 32566, 32641, 32699, 32740, 32762, 32768, 32755, 32725, 32678, 32613, 32530, 32430, 32313, 32178, 32026, 31857, 31670, 31467, 31247, 31010, 30756, 30486, 30199, 29897, 29578, 29243, 28893, 28527, 28146, 27749, 27338, 26912, 26472, 26017, 25549, 25067, 24571, 24062, 23541, 23006, 22459, 21901, 21330, 20748, 20155, 19551, 18936, 18312, 17677, 17033, 16380, 15718, 15048, 14370, 13684, 12990, 12290, 11583, 10869, 10150, 9426, 8696, 7962, 7223, 6481, 5735, 4986, 4235, 3481, 2725, 1968, 1209, 450, -308, -1067, -1825, -2583, -3339, -4093, -4845, -5595, -6341, -7084, -7824, -8559, -9289, -10015, -10735, -11449, -12157, -12859, -13554, -14241, -14921, -15593, -16257, -16911, -17557, -18193, -18820, -19436, -20042, -20637, -21221, -21794, -22355, -22904, -23441, -23965, -24476, -24974, -25459, -25930, -26387, -26830, -27259, -27673, -28072, -28456, -28825, -29178, -29516, -29837, -30143, -30433, -30706, -30963, -31203, -31426, -31633, -31822, -31995, -32150, -32288, -32409, -32512, -32598, -32666, -32717, -32750, -32766, -32764, -32744, -32707, -32652, -32580, -32491, -32383, -32259, -32117, -31958, -31782, -31589, -31378, -31151, -30907, -30647, -30370, -30077, -29768, -29443, -29101, -28745, -28373, -27985, -27583, -27166, -26734, -26288, -25828, -25353, -24866, -24365, -23851, -23324, -22784, -22232, -21669, -21094, -20507, -19909, -19301, -18683, -18054, -17416, -16768, -16111, -15446, -14772, -14090, -13401, -12705, -12002, -11292, -10577, -9855, -9129, -8397, -7661, -6921, -6177, -5430, -4680, -3927, -3172, -2416, -1658, -900}},
|
||||
{91U, 262U, {0, 785, 1569, 2353, 3135, 3915, 4693, 5469, 6241, 7010, 7775, 8535, 9290, 10040, 10784, 11522, 12254, 12978, 13695, 14404, 15105, 15797, 16480, 17154, 17818, 18472, 19115, 19747, 20367, 20976, 21573, 22158, 22730, 23288, 23834, 24366, 24884, 25387, 25876, 26350, 26809, 27253, 27681, 28093, 28489, 28868, 29231, 29578, 29907, 30219, 30514, 30791, 31051, 31293, 31517, 31722, 31910, 32079, 32230, 32363, 32476, 32572, 32648, 32706, 32745, 32765, 32766, 32749, 32713, 32658, 32584, 32492, 32381, 32251, 32103, 31936, 31751, 31548, 31327, 31088, 30831, 30556, 30264, 29954, 29627, 29284, 28923, 28546, 28152, 27743, 27317, 26876, 26419, 25947, 25460, 24959, 24443, 23913, 23370, 22813, 22243, 21660, 21065, 20458, 19839, 19208, 18567, 17915, 17253, 16580, 15899, 15208, 14508, 13800, 13085, 12361, 11631, 10894, 10150, 9401, 8647, 7887, 7123, 6355, 5583, 4808, 4030, 3250, 2468, 1685, 901, 116, -668, -1453, -2236, -3019, -3799, -4578, -5354, -6126, -6896, -7661, -8422, -9178, -9929, -10674, -11413, -12145, -12871, -13589, -14299, -15001, -15695, -16379, -17054, -17720, -18375, -19019, -19653, -20275, -20886, -21485, -22071, -22645, -23206, -23753, -24287, -24807, -25313, -25804, -26280, -26741, -27187, -27618, -28032, -28430, -28812, -29178, -29527, -29859, -30173, -30471, -30751, -31013, -31257, -31484, -31692, -31883, -32055, -32208, -32343, -32460, -32558, -32637, -32697, -32739, -32762, -32766, -32752, -32718, -32666, -32595, -32505, -32397, -32270, -32125, -31961, -31779, -31578, -31360, -31123, -30869, -30597, -30307, -30000, -29676, -29334, -28976, -28602, -28210, -27803, -27380, -26941, -26486, -26016, -25532, -25033, -24519, -23991, -23450, -22895, -22327, -21746, -21153, -20547, -19930, -19301, -18661, -18011, -17350, -16679, -15999, -15309, -14611, -13904, -13190, -12467, -11738, -11002, -10259, -9511, -8757, -7998, -7235, -6467, -5696, -4922, -4144, -3364, -2583, -1800, -1015}},
|
||||
{94U, 253U, {0, 813, 1626, 2438, 3248, 4056, 4862, 5664, 6463, 7259, 8049, 8835, 9615, 10390, 11158, 11919, 12673, 13419, 14157, 14886, 15605, 16316, 17016, 17705, 18384, 19052, 19707, 20351, 20982, 21600, 22205, 22796, 23373, 23936, 24484, 25017, 25534, 26036, 26522, 26991, 27444, 27880, 28299, 28700, 29084, 29449, 29797, 30126, 30437, 30728, 31001, 31255, 31490, 31705, 31901, 32077, 32233, 32369, 32486, 32582, 32659, 32715, 32751, 32767, 32763, 32739, 32694, 32629, 32544, 32440, 32315, 32170, 32006, 31821, 31617, 31394, 31151, 30890, 30609, 30309, 29991, 29654, 29299, 28925, 28534, 28126, 27700, 27257, 26797, 26321, 25829, 25320, 24796, 24257, 23703, 23134, 22551, 21954, 21344, 20720, 20084, 19435, 18774, 18102, 17419, 16725, 16020, 15306, 14582, 13849, 13108, 12359, 11602, 10838, 10067, 9290, 8507, 7720, 6927, 6130, 5329, 4525, 3719, 2909, 2099, 1286, 474, -339, -1152, -1964, -2775, -3585, -4392, -5196, -5997, -6795, -7588, -8377, -9161, -9939, -10710, -11476, -12234, -12984, -13727, -14461, -15186, -15902, -16608, -17304, -17989, -18663, -19326, -19977, -20615, -21241, -21854, -22453, -23038, -23609, -24166, -24708, -25234, -25745, -26240, -26719, -27182, -27627, -28056, -28467, -28861, -29237, -29596, -29935, -30257, -30560, -30844, -31109, -31355, -31581, -31788, -31976, -32143, -32291, -32419, -32528, -32616, -32684, -32732, -32759, -32767, -32754, -32721, -32668, -32595, -32502, -32389, -32256, -32103, -31930, -31738, -31526, -31294, -31043, -30774, -30485, -30177, -29851, -29507, -29144, -28763, -28365, -27949, -27516, -27066, -26599, -26116, -25617, -25102, -24572, -24026, -23466, -22891, -22302, -21700, -21084, -20455, -19813, -19159, -18494, -17817, -17129, -16431, -15722, -15004, -14276, -13540, -12795, -12043, -11283, -10516, -9742, -8963, -8178, -7388, -6594, -5795, -4993, -4188, -3380, -2570, -1758, -946}},
|
||||
{97U, 246U, {0, 835, 1670, 2504, 3336, 4166, 4994, 5818, 6638, 7454, 8265, 9071, 9871, 10664, 11451, 12230, 13001, 13764, 14518, 15262, 15996, 16720, 17433, 18135, 18825, 19503, 20168, 20820, 21458, 22082, 22693, 23288, 23868, 24433, 24981, 25514, 26030, 26529, 27011, 27475, 27921, 28350, 28759, 29150, 29523, 29875, 30209, 30523, 30817, 31091, 31345, 31578, 31791, 31983, 32154, 32305, 32434, 32543, 32630, 32696, 32741, 32764, 32766, 32747, 32707, 32645, 32562, 32458, 32333, 32187, 32019, 31832, 31623, 31394, 31144, 30874, 30584, 30274, 29945, 29596, 29228, 28840, 28434, 28010, 27567, 27107, 26628, 26133, 25620, 25091, 24546, 23984, 23407, 22815, 22208, 21586, 20950, 20301, 19639, 18964, 18276, 17577, 16866, 16144, 15412, 14670, 13918, 13157, 12387, 11610, 10825, 10033, 9234, 8430, 7620, 6804, 5985, 5162, 4335, 3505, 2674, 1840, 1005, 170, -665, -1500, -2334, -3166, -3997, -4825, -5650, -6471, -7288, -8100, -8907, -9708, -10503, -11291, -12071, -12844, -13608, -14364, -15110, -15847, -16573, -17288, -17992, -18685, -19365, -20033, -20687, -21328, -21956, -22569, -23167, -23750, -24318, -24870, -25406, -25925, -26428, -26913, -27381, -27831, -28263, -28677, -29071, -29447, -29804, -30142, -30460, -30758, -31036, -31294, -31531, -31748, -31945, -32120, -32275, -32409, -32521, -32613, -32683, -32732, -32760, -32767, -32752, -32716, -32658, -32580, -32480, -32359, -32217, -32054, -31870, -31666, -31441, -31195, -30930, -30644, -30338, -30012, -29667, -29303, -28920, -28517, -28097, -27658, -27201, -26726, -26234, -25725, -25199, -24657, -24099, -23525, -22935, -22331, -21713, -21080, -20433, -19774, -19101, -18416, -17719, -17010, -16291, -15561, -14820, -14070, -13311, -12544, -11768, -10984, -10193, -9396, -8593, -7784, -6970, -6151, -5328, -4502, -3673, -2842, -2009, -1174}},
|
||||
{100U, 240U, {0, 858, 1715, 2571, 3425, 4277, 5126, 5971, 6813, 7650, 8481, 9307, 10126, 10938, 11743, 12540, 13328, 14107, 14876, 15636, 16384, 17121, 17847, 18560, 19261, 19948, 20622, 21281, 21926, 22556, 23170, 23769, 24351, 24917, 25466, 25997, 26510, 27005, 27482, 27939, 28378, 28797, 29197, 29576, 29935, 30274, 30592, 30888, 31164, 31419, 31651, 31863, 32052, 32219, 32365, 32488, 32588, 32667, 32723, 32757, 32768, 32757, 32723, 32667, 32588, 32488, 32365, 32219, 32052, 31863, 31651, 31419, 31164, 30888, 30592, 30274, 29935, 29576, 29197, 28797, 28378, 27939, 27482, 27005, 26510, 25997, 25466, 24917, 24351, 23769, 23170, 22556, 21926, 21281, 20622, 19948, 19261, 18560, 17847, 17121, 16384, 15636, 14876, 14107, 13328, 12540, 11743, 10938, 10126, 9307, 8481, 7650, 6813, 5971, 5126, 4277, 3425, 2571, 1715, 858, 0, -857, -1714, -2570, -3424, -4276, -5125, -5970, -6812, -7649, -8480, -9306, -10125, -10937, -11742, -12539, -13327, -14106, -14875, -15635, -16383, -17120, -17846, -18559, -19260, -19947, -20621, -21280, -21925, -22555, -23169, -23768, -24350, -24916, -25465, -25996, -26509, -27004, -27481, -27938, -28377, -28796, -29196, -29575, -29934, -30273, -30591, -30887, -31163, -31418, -31650, -31862, -32051, -32218, -32364, -32487, -32587, -32666, -32722, -32756, -32767, -32756, -32722, -32666, -32587, -32487, -32364, -32218, -32051, -31862, -31650, -31418, -31163, -30887, -30591, -30273, -29934, -29575, -29196, -28796, -28377, -27938, -27481, -27004, -26509, -25996, -25465, -24916, -24350, -23768, -23169, -22555, -21925, -21280, -20621, -19947, -19260, -18559, -17846, -17120, -16383, -15635, -14875, -14106, -13327, -12539, -11742, -10937, -10125, -9306, -8480, -7649, -6812, -5970, -5125, -4276, -3424, -2570, -1714, -857}},
|
||||
{103U, 232U, {0, 888, 1775, 2661, 3545, 4426, 5304, 6178, 7048, 7912, 8771, 9623, 10468, 11305, 12134, 12955, 13765, 14566, 15356, 16134, 16901, 17656, 18397, 19125, 19839, 20538, 21222, 21891, 22544, 23180, 23799, 24400, 24984, 25549, 26096, 26623, 27131, 27619, 28086, 28533, 28959, 29364, 29747, 30109, 30448, 30765, 31059, 31331, 31579, 31805, 32007, 32185, 32340, 32471, 32578, 32662, 32721, 32757, 32768, 32755, 32718, 32658, 32573, 32464, 32332, 32175, 31996, 31792, 31566, 31316, 31043, 30747, 30429, 30088, 29726, 29341, 28935, 28508, 28060, 27591, 27102, 26593, 26064, 25517, 24950, 24366, 23763, 23143, 22506, 21853, 21183, 20498, 19798, 19083, 18354, 17612, 16857, 16090, 15310, 14520, 13719, 12907, 12087, 11257, 10419, 9574, 8721, 7862, 6997, 6127, 5253, 4375, 3493, 2609, 1724, 836, -50, -938, -1825, -2711, -3595, -4476, -5354, -6228, -7097, -7961, -8819, -9671, -10516, -11353, -12181, -13001, -13811, -14611, -15400, -16178, -16944, -17698, -18439, -19166, -19879, -20577, -21261, -21928, -22580, -23215, -23833, -24433, -25016, -25580, -26126, -26652, -27159, -27645, -28112, -28557, -28982, -29386, -29768, -30128, -30466, -30782, -31075, -31345, -31592, -31816, -32017, -32194, -32347, -32477, -32583, -32665, -32723, -32757, -32767, -32753, -32715, -32652, -32566, -32456, -32322, -32165, -31983, -31779, -31551, -31299, -31025, -30728, -30409, -30067, -29703, -29317, -28910, -28481, -28032, -27562, -27072, -26562, -26032, -25483, -24916, -24330, -23727, -23106, -22468, -21813, -21143, -20457, -19756, -19040, -18311, -17568, -16812, -16044, -15264, -14473, -13671, -12859, -12038, -11208, -10369, -9523, -8670, -7811, -6946, -6076, -5201, -4323, -3441, -2557, -1671, -784}},
|
||||
{107U, 224U, {0, 920, 1838, 2756, 3671, 4583, 5492, 6396, 7295, 8189, 9076, 9956, 10828, 11692, 12546, 13391, 14225, 15047, 15858, 16657, 17442, 18213, 18971, 19713, 20440, 21150, 21844, 22521, 23180, 23821, 24443, 25046, 25629, 26192, 26734, 27255, 27755, 28233, 28688, 29121, 29531, 29918, 30282, 30621, 30936, 31227, 31494, 31735, 31952, 32143, 32309, 32450, 32565, 32654, 32718, 32756, 32768, 32754, 32715, 32650, 32559, 32442, 32300, 32132, 31939, 31721, 31478, 31211, 30918, 30601, 30261, 29896, 29508, 29096, 28662, 28205, 27726, 27225, 26702, 26159, 25595, 25010, 24406, 23783, 23141, 22481, 21803, 21108, 20397, 19669, 18926, 18168, 17395, 16609, 15810, 14999, 14175, 13340, 12495, 11640, 10776, 9904, 9023, 8136, 7242, 6342, 5438, 4529, 3616, 2701, 1783, 865, -54, -973, -1892, -2809, -3724, -4636, -5545, -6449, -7348, -8241, -9128, -10007, -10879, -11742, -12596, -13440, -14273, -15095, -15905, -16703, -17487, -18258, -19014, -19756, -20482, -21191, -21884, -22560, -23218, -23858, -24479, -25080, -25662, -26224, -26765, -27285, -27783, -28260, -28714, -29145, -29554, -29940, -30301, -30639, -30953, -31243, -31508, -31748, -31963, -32153, -32317, -32456, -32570, -32658, -32720, -32756, -32767, -32752, -32711, -32644, -32551, -32433, -32290, -32121, -31926, -31707, -31462, -31193, -30899, -30581, -30238, -29872, -29483, -29070, -28634, -28176, -27695, -27193, -26669, -26125, -25559, -24974, -24369, -23744, -23101, -22440, -21761, -21065, -20353, -19624, -18880, -18121, -17348, -16561, -15761, -14949, -14125, -13289, -12444, -11588, -10723, -9850, -8969, -8082, -7187, -6287, -5382, -4473, -3561, -2645, -1728, -809}},
|
||||
{110U, 216U, {0, 951, 1902, 2851, 3797, 4740, 5679, 6614, 7543, 8465, 9381, 10288, 11187, 12076, 12955, 13824, 14680, 15525, 16356, 17173, 17976, 18764, 19536, 20291, 21030, 21750, 22452, 23136, 23800, 24444, 25067, 25669, 26249, 26808, 27343, 27856, 28345, 28811, 29252, 29668, 30059, 30425, 30766, 31080, 31368, 31630, 31865, 32074, 32255, 32409, 32536, 32635, 32707, 32751, 32768, 32757, 32718, 32652, 32558, 32437, 32289, 32113, 31910, 31681, 31424, 31142, 30833, 30497, 30137, 29750, 29339, 28903, 28443, 27959, 27451, 26920, 26366, 25790, 25192, 24573, 23934, 23274, 22595, 21896, 21179, 20444, 19692, 18924, 18139, 17339, 16525, 15697, 14855, 14001, 13135, 12258, 11371, 10474, 9568, 8654, 7733, 6805, 5872, 4934, 3991, 3045, 2097, 1147, 196, -755, -1705, -2655, -3602, -4546, -5486, -6421, -7351, -8275, -9192, -10101, -11002, -11893, -12775, -13645, -14504, -15351, -16185, -17005, -17811, -18602, -19377, -20136, -20878, -21603, -22309, -22996, -23664, -24312, -24939, -25546, -26131, -26694, -27234, -27752, -28246, -28716, -29162, -29583, -29980, -30351, -30697, -31017, -31310, -31578, -31818, -32032, -32219, -32379, -32511, -32616, -32693, -32743, -32766, -32760, -32727, -32667, -32579, -32463, -32321, -32151, -31953, -31729, -31478, -31201, -30897, -30567, -30212, -29831, -29425, -28994, -28539, -28059, -27556, -27030, -26481, -25909, -25316, -24701, -24066, -23410, -22735, -22040, -21327, -20596, -19847, -19082, -18301, -17504, -16693, -15867, -15028, -14176, -13313, -12438, -11553, -10658, -9754, -8842, -7922, -6996, -6063, -5126, -4184, -3239, -2291, -1341}},
|
||||
{114U, 209U, {0, 985, 1968, 2950, 3930, 4906, 5877, 6843, 7803, 8756, 9701, 10637, 11563, 12480, 13384, 14277, 15157, 16023, 16875, 17711, 18532, 19335, 20122, 20890, 21639, 22369, 23078, 23767, 24434, 25079, 25701, 26301, 26876, 27427, 27954, 28455, 28930, 29380, 29802, 30198, 30567, 30908, 31221, 31506, 31762, 31990, 32189, 32359, 32499, 32610, 32692, 32744, 32767, 32760, 32723, 32657, 32562, 32437, 32282, 32099, 31886, 31645, 31375, 31077, 30751, 30397, 30015, 29607, 29172, 28710, 28222, 27709, 27171, 26608, 26022, 25411, 24778, 24123, 23445, 22747, 22028, 21289, 20531, 19754, 18960, 18148, 17320, 16476, 15617, 14745, 13859, 12960, 12050, 11129, 10198, 9257, 8309, 7352, 6389, 5421, 4447, 3470, 2489, 1506, 522, -462, -1447, -2430, -3411, -4388, -5362, -6331, -7294, -8251, -9200, -10141, -11073, -11995, -12906, -13805, -14692, -15565, -16425, -17269, -18098, -18911, -19706, -20484, -21244, -21984, -22704, -23404, -24082, -24739, -25374, -25985, -26573, -27137, -27677, -28192, -28681, -29144, -29581, -29991, -30374, -30730, -31058, -31358, -31629, -31872, -32086, -32271, -32427, -32554, -32652, -32719, -32758, -32766, -32745, -32695, -32615, -32506, -32367, -32199, -32002, -31776, -31521, -31238, -30926, -30587, -30220, -29826, -29404, -28957, -28483, -27983, -27458, -26908, -26334, -25737, -25115, -24472, -23806, -23118, -22410, -21682, -20934, -20167, -19381, -18579, -17759, -16924, -16073, -15208, -14329, -13437, -12532, -11617, -10691, -9755, -8811, -7859, -6899, -5933, -4962, -3987, -3008, -2026, -1042}},
|
||||
{118U, 202U, {0, 1019, 2037, 3053, 4066, 5075, 6079, 7078, 8069, 9053, 10028, 10993, 11948, 12891, 13821, 14739, 15642, 16529, 17401, 18256, 19094, 19912, 20712, 21492, 22251, 22988, 23703, 24395, 25063, 25708, 26327, 26921, 27489, 28030, 28545, 29031, 29490, 29920, 30321, 30692, 31035, 31347, 31628, 31879, 32100, 32289, 32447, 32573, 32669, 32732, 32764, 32764, 32733, 32669, 32575, 32448, 32291, 32102, 31882, 31631, 31350, 31038, 30696, 30325, 29924, 29494, 29036, 28550, 28036, 27495, 26927, 26333, 25714, 25070, 24402, 23710, 22995, 22258, 21499, 20720, 19921, 19102, 18265, 17410, 16538, 15651, 14748, 13831, 12900, 11957, 11003, 10038, 9063, 8079, 7088, 6090, 5085, 4076, 3063, 2047, 1029, 10, -1008, -2026, -3042, -4055, -5064, -6068, -7067, -8058, -9042, -10017, -10982, -11937, -12880, -13811, -14728, -15632, -16520, -17392, -18247, -19084, -19903, -20703, -21483, -22242, -22979, -23695, -24387, -25056, -25700, -26320, -26914, -27482, -28024, -28539, -29025, -29484, -29914, -30316, -30688, -31030, -31343, -31625, -31876, -32097, -32286, -32444, -32571, -32667, -32731, -32763, -32763, -32732, -32669, -32575, -32449, -32291, -32103, -31883, -31633, -31352, -31040, -30699, -30328, -29927, -29498, -29040, -28554, -28040, -27499, -26932, -26338, -25720, -25076, -24408, -23716, -23001, -22265, -21506, -20727, -19928, -19109, -18272, -17418, -16546, -15659, -14756, -13839, -12909, -11966, -11012, -10047, -9072, -8088, -7097, -6099, -5095, -4085, -3072, -2057, -1039}},
|
||||
{123U, 195U, {0, 1055, 2109, 3161, 4209, 5253, 6292, 7324, 8348, 9364, 10370, 11366, 12349, 13320, 14277, 15219, 16146, 17055, 17947, 18821, 19675, 20508, 21320, 22110, 22877, 23621, 24340, 25034, 25701, 26342, 26956, 27542, 28099, 28628, 29126, 29594, 30032, 30438, 30813, 31156, 31467, 31745, 31990, 32202, 32381, 32525, 32637, 32714, 32758, 32767, 32743, 32684, 32592, 32466, 32306, 32113, 31886, 31627, 31335, 31010, 30653, 30264, 29844, 29393, 28911, 28399, 27858, 27288, 26690, 26064, 25411, 24732, 24027, 23298, 22544, 21766, 20966, 20145, 19302, 18440, 17558, 16658, 15741, 14808, 13859, 12896, 11919, 10930, 9930, 8919, 7900, 6872, 5836, 4795, 3749, 2699, 1646, 592, -462, -1517, -2570, -3620, -4667, -5709, -6745, -7774, -8794, -9806, -10808, -11798, -12776, -13741, -14692, -15627, -16546, -17448, -18332, -19197, -20042, -20866, -21669, -22449, -23206, -23939, -24647, -25329, -25985, -26614, -27216, -27789, -28334, -28849, -29334, -29789, -30213, -30606, -30967, -31296, -31592, -31856, -32086, -32283, -32447, -32577, -32674, -32736, -32765, -32760, -32720, -32647, -32540, -32399, -32225, -32017, -31776, -31502, -31195, -30856, -30485, -30082, -29648, -29184, -28689, -28164, -27611, -27028, -26418, -25780, -25115, -24425, -23709, -22968, -22204, -21417, -20607, -19776, -18925, -18054, -17164, -16257, -15332, -14392, -13437, -12467, -11485, -10491, -9486, -8472, -7448, -6417, -5379, -4336, -3288, -2236, -1183}},
|
||||
{127U, 189U, {0, 1092, 2183, 3271, 4355, 5435, 6509, 7575, 8633, 9682, 10720, 11745, 12758, 13757, 14740, 15707, 16657, 17588, 18499, 19390, 20260, 21106, 21930, 22729, 23503, 24251, 24972, 25665, 26329, 26965, 27570, 28145, 28688, 29200, 29679, 30126, 30538, 30917, 31262, 31572, 31847, 32086, 32290, 32458, 32590, 32685, 32745, 32768, 32754, 32705, 32619, 32496, 32338, 32144, 31914, 31648, 31348, 31012, 30642, 30238, 29801, 29330, 28827, 28292, 27726, 27128, 26501, 25844, 25158, 24445, 23704, 22937, 22144, 21327, 20487, 19623, 18738, 17832, 16906, 15961, 14999, 14019, 13025, 12016, 10993, 9958, 8913, 7857, 6793, 5721, 4643, 3559, 2472, 1382, 290, -801, -1892, -2981, -4067, -5148, -6223, -7292, -8352, -9403, -10444, -11473, -12490, -13492, -14480, -15451, -16405, -17341, -18258, -19155, -20030, -20883, -21713, -22518, -23299, -24054, -24782, -25482, -26155, -26798, -27411, -27994, -28546, -29066, -29554, -30009, -30431, -30819, -31173, -31492, -31776, -32025, -32238, -32416, -32557, -32662, -32731, -32764, -32760, -32720, -32644, -32531, -32382, -32198, -31977, -31721, -31430, -31104, -30743, -30348, -29919, -29458, -28963, -28436, -27878, -27289, -26669, -26020, -25342, -24636, -23902, -23142, -22356, -21546, -20711, -19854, -18974, -18073, -17152, -16213, -15255, -14280, -13289, -12284, -11265, -10233, -9190, -8137, -7075, -6005, -4928, -3846, -2760, -1670, -579}},
|
||||
{131U, 182U, {0, 1130, 2260, 3386, 4508, 5625, 6736, 7838, 8931, 10013, 11084, 12141, 13184, 14211, 15221, 16213, 17186, 18138, 19068, 19976, 20861, 21720, 22554, 23360, 24139, 24889, 25610, 26300, 26958, 27585, 28179, 28739, 29265, 29756, 30212, 30631, 31015, 31361, 31670, 31941, 32175, 32370, 32526, 32644, 32723, 32763, 32764, 32725, 32648, 32533, 32378, 32185, 31953, 31684, 31376, 31032, 30650, 30232, 29778, 29289, 28764, 28206, 27613, 26988, 26331, 25643, 24924, 24175, 23397, 22592, 21760, 20902, 20019, 19112, 18182, 17231, 16259, 15268, 14259, 13232, 12190, 11134, 10064, 8982, 7890, 6788, 5678, 4561, 3439, 2313, 1184, 53, -1076, -2205, -3332, -4455, -5572, -6683, -7785, -8879, -9962, -11033, -12090, -13134, -14162, -15173, -16166, -17139, -18093, -19024, -19933, -20819, -21679, -22514, -23322, -24102, -24853, -25575, -26267, -26927, -27555, -28150, -28712, -29240, -29733, -30190, -30611, -30996, -31345, -31655, -31928, -32164, -32360, -32519, -32638, -32719, -32761, -32763, -32727, -32652, -32538, -32385, -32194, -31964, -31696, -31391, -31048, -30668, -30252, -29799, -29311, -28789, -28232, -27641, -27018, -26362, -25675, -24957, -24210, -23434, -22630, -21799, -20942, -20060, -19154, -18225, -17275, -16304, -15314, -14305, -13280, -12239, -11183, -10113, -9032, -7940, -6839, -5729, -4613, -3491, -2365, -1236}},
|
||||
{136U, 176U, {0, 1171, 2340, 3506, 4668, 5824, 6972, 8112, 9241, 10358, 11462, 12552, 13625, 14681, 15718, 16736, 17731, 18705, 19654, 20578, 21476, 22347, 23189, 24001, 24783, 25533, 26250, 26934, 27584, 28198, 28777, 29318, 29822, 30288, 30716, 31104, 31453, 31761, 32029, 32255, 32441, 32585, 32688, 32749, 32768, 32745, 32681, 32574, 32426, 32237, 32007, 31735, 31423, 31071, 30680, 30249, 29780, 29272, 28727, 28146, 27528, 26876, 26189, 25468, 24715, 23931, 23116, 22271, 21398, 20498, 19572, 18620, 17645, 16647, 15628, 14589, 13531, 12457, 11366, 10260, 9142, 8012, 6872, 5722, 4566, 3404, 2237, 1068, -102, -1273, -2442, -3608, -4769, -5924, -7072, -8210, -9339, -10455, -11558, -12646, -13718, -14772, -15808, -16823, -17817, -18788, -19735, -20657, -21553, -22421, -23260, -24070, -24849, -25596, -26311, -26992, -27638, -28250, -28825, -29363, -29864, -30327, -30751, -31135, -31480, -31785, -32049, -32272, -32454, -32595, -32694, -32751, -32767, -32740, -32672, -32562, -32410, -32218, -31983, -31709, -31393, -31038, -30643, -30208, -29735, -29225, -28677, -28092, -27471, -26816, -26126, -25402, -24647, -23859, -23042, -22195, -21319, -20417, -19488, -18534, -17557, -16557, -15536, -14496, -13437, -12360, -11268, -10162, -9042, -7911, -6770, -5620, -4463, -3300, -2134, -964}},
|
||||
{141U, 170U, {0, 1212, 2422, 3629, 4831, 6026, 7213, 8391, 9556, 10709, 11847, 12969, 14073, 15158, 16222, 17264, 18282, 19275, 20242, 21181, 22091, 22971, 23820, 24636, 25418, 26165, 26877, 27552, 28189, 28788, 29347, 29866, 30344, 30781, 31175, 31527, 31836, 32101, 32322, 32500, 32632, 32720, 32763, 32762, 32715, 32624, 32488, 32308, 32083, 31815, 31503, 31147, 30750, 30310, 29829, 29307, 28745, 28143, 27503, 26825, 26111, 25361, 24576, 23758, 22907, 22025, 21112, 20171, 19202, 18207, 17187, 16143, 15078, 13992, 12886, 11763, 10624, 9470, 8304, 7126, 5938, 4742, 3539, 2332, 1122, -89, -1301, -2511, -3718, -4919, -6114, -7300, -8477, -9641, -10793, -11930, -13051, -14153, -15237, -16299, -17339, -18356, -19347, -20312, -21249, -22157, -23034, -23881, -24694, -25474, -26219, -26927, -27600, -28234, -28830, -29386, -29902, -30377, -30811, -31202, -31551, -31856, -32118, -32336, -32510, -32639, -32724, -32764, -32759, -32709, -32614, -32475, -32291, -32064, -31792, -31477, -31118, -30718, -30275, -29790, -29265, -28700, -28096, -27453, -26773, -26056, -25303, -24516, -23695, -22841, -21957, -21042, -20099, -19128, -18131, -17109, -16064, -14997, -13909, -12802, -11678, -10538, -9383, -8215, -7037, -5848, -4652, -3449, -2241, -1031}},
|
||||
{146U, 164U, {0, 1254, 2506, 3754, 4997, 6233, 7459, 8675, 9878, 11066, 12238, 13392, 14527, 15640, 16730, 17796, 18836, 19848, 20832, 21784, 22705, 23592, 24445, 25262, 26042, 26784, 27487, 28150, 28771, 29350, 29886, 30378, 30826, 31229, 31586, 31896, 32160, 32377, 32546, 32668, 32742, 32768, 32746, 32676, 32558, 32392, 32179, 31919, 31612, 31259, 30860, 30415, 29927, 29394, 28818, 28200, 27541, 26842, 26103, 25326, 24511, 23661, 22777, 21858, 20908, 19927, 18917, 17880, 16816, 15727, 14616, 13483, 12330, 11159, 9972, 8771, 7556, 6330, 5096, 3853, 2605, 1353, 100, -1153, -2406, -3654, -4898, -6134, -7361, -8578, -9782, -10971, -12145, -13300, -14436, -15552, -16644, -17712, -18754, -19768, -20754, -21709, -22632, -23522, -24378, -25198, -25981, -26726, -27432, -28098, -28722, -29305, -29844, -30340, -30791, -31198, -31558, -31872, -32140, -32361, -32534, -32659, -32737, -32767, -32748, -32682, -32568, -32406, -32197, -31940, -31637, -31287, -30892, -30451, -29966, -29437, -28865, -28250, -27594, -26898, -26162, -25388, -24576, -23729, -22847, -21931, -20984, -20005, -18998, -17962, -16900, -15814, -14704, -13573, -12421, -11252, -10066, -8865, -7652, -6427, -5193, -3951, -2703, -1452}},
|
||||
{151U, 159U, {0, 1298, 2595, 3887, 5173, 6452, 7720, 8975, 10217, 11443, 12651, 13839, 15005, 16147, 17264, 18354, 19416, 20446, 21445, 22410, 23340, 24233, 25088, 25903, 26678, 27411, 28101, 28747, 29348, 29902, 30410, 30870, 31281, 31643, 31955, 32218, 32429, 32590, 32700, 32758, 32764, 32720, 32624, 32476, 32278, 32029, 31729, 31380, 30981, 30534, 30039, 29496, 28908, 28274, 27595, 26873, 26109, 25304, 24459, 23576, 22655, 21699, 20709, 19687, 18633, 17551, 16440, 15304, 14144, 12962, 11759, 10538, 9300, 8048, 6783, 5507, 4223, 2932, 1636, 338, -960, -2257, -3550, -4838, -6119, -7390, -8649, -9895, -11125, -12337, -13530, -14702, -15851, -16975, -18072, -19141, -20180, -21187, -22161, -23100, -24003, -24868, -25694, -26480, -27224, -27925, -28582, -29195, -29761, -30281, -30754, -31178, -31553, -31878, -32153, -32378, -32552, -32675, -32747, -32767, -32735, -32653, -32518, -32333, -32097, -31811, -31475, -31089, -30654, -30171, -29641, -29064, -28442, -27775, -27064, -26311, -25516, -24682, -23808, -22897, -21951, -20969, -19955, -18909, -17834, -16731, -15601, -14447, -13270, -12073, -10856, -9623, -8374, -7112, -5839, -4557, -3267, -1973, -675}},
|
||||
{156U, 153U, {0, 1344, 2686, 4023, 5353, 6674, 7984, 9281, 10562, 11825, 13069, 14290, 15488, 16659, 17802, 18915, 19997, 21045, 22057, 23032, 23969, 24865, 25719, 26531, 27297, 28017, 28691, 29316, 29892, 30417, 30891, 31314, 31683, 31999, 32262, 32470, 32624, 32722, 32766, 32754, 32687, 32566, 32389, 32158, 31873, 31534, 31142, 30698, 30202, 29656, 29059, 28413, 27720, 26980, 26195, 25365, 24493, 23580, 22627, 21636, 20608, 19546, 18451, 17325, 16170, 14987, 13779, 12548, 11296, 10025, 8738, 7435, 6120, 4794, 3461, 2122, 779, -564, -1908, -3248, -4582, -5909, -7226, -8531, -9821, -11095, -12350, -13584, -14796, -15982, -17142, -18273, -19373, -20441, -21474, -22471, -23430, -24350, -25229, -26065, -26857, -27605, -28305, -28959, -29563, -30118, -30622, -31074, -31475, -31822, -32115, -32355, -32540, -32671, -32746, -32767, -32732, -32642, -32497, -32298, -32044, -31736, -31375, -30961, -30495, -29978, -29410, -28792, -28127, -27414, -26654, -25850, -25003, -24113, -23183, -22214, -21207, -20165, -19088, -17980, -16841, -15674, -14481, -13263, -12023, -10763, -9485, -8190, -6882, -5563, -4234, -2897, -1556}},
|
||||
{159U, 150U, {0, 1370, 2739, 4102, 5458, 6804, 8139, 9459, 10763, 12048, 13312, 14553, 15768, 16956, 18114, 19240, 20332, 21389, 22409, 23389, 24328, 25225, 26078, 26885, 27645, 28356, 29018, 29630, 30189, 30695, 31148, 31547, 31890, 32177, 32408, 32582, 32699, 32759, 32762, 32707, 32596, 32427, 32201, 31919, 31581, 31188, 30740, 30239, 29684, 29078, 28421, 27714, 26958, 26156, 25307, 24414, 23479, 22502, 21487, 20433, 19344, 18221, 17066, 15881, 14668, 13430, 12168, 10885, 9583, 8264, 6930, 5585, 4229, 2867, 1499, 129, -1241, -2609, -3973, -5330, -6678, -8013, -9335, -10641, -11928, -13194, -14436, -15654, -16844, -18005, -19134, -20230, -21291, -22314, -23298, -24241, -25142, -25999, -26810, -27575, -28291, -28957, -29573, -30138, -30649, -31107, -31511, -31859, -32151, -32388, -32567, -32690, -32755, -32763, -32714, -32608, -32444, -32224, -31947, -31614, -31226, -30784, -30287, -29738, -29136, -28484, -27781, -27030, -26232, -25388, -24499, -23568, -22595, -21583, -20532, -19446, -18326, -17174, -15992, -14782, -13546, -12286, -11005, -9705, -8387, -7055, -5711, -4356, -2994, -1627}},
|
||||
{162U, 148U, {0, 1391, 2780, 4163, 5539, 6905, 8259, 9597, 10919, 12220, 13500, 14755, 15984, 17184, 18353, 19489, 20590, 21653, 22678, 23661, 24602, 25499, 26350, 27153, 27907, 28611, 29263, 29863, 30408, 30899, 31335, 31713, 32035, 32298, 32504, 32651, 32739, 32768, 32738, 32649, 32501, 32294, 32030, 31707, 31327, 30891, 30399, 29853, 29252, 28599, 27894, 27139, 26335, 25484, 24586, 23645, 22660, 21635, 20571, 19470, 18333, 17164, 15963, 14734, 13478, 12198, 10896, 9574, 8235, 6882, 5515, 4139, 2756, 1367, -23, -1414, -2803, -4186, -5562, -6928, -8281, -9619, -10940, -12242, -13521, -14776, -16004, -17204, -18372, -19507, -20607, -21670, -22694, -23677, -24617, -25513, -26363, -27165, -27919, -28622, -29273, -29872, -30416, -30906, -31341, -31718, -32039, -32302, -32506, -32652, -32739, -32767, -32736, -32646, -32497, -32289, -32024, -31700, -31319, -30882, -30390, -29842, -29241, -28586, -27881, -27125, -26320, -25468, -24570, -23627, -22642, -21616, -20551, -19449, -18312, -17142, -15941, -14712, -13455, -12175, -10872, -9550, -8211, -6857, -5491, -4114, -2731, -1342}},
|
||||
{165U, 145U, {0, 1419, 2836, 4247, 5651, 7043, 8423, 9787, 11132, 12457, 13758, 15033, 16280, 17496, 18680, 19829, 20940, 22012, 23043, 24030, 24973, 25868, 26715, 27512, 28257, 28949, 29587, 30169, 30695, 31163, 31572, 31923, 32213, 32443, 32612, 32720, 32766, 32751, 32674, 32536, 32337, 32078, 31758, 31378, 30940, 30443, 29890, 29280, 28615, 27897, 27126, 26304, 25433, 24514, 23549, 22540, 21489, 20397, 19267, 18101, 16901, 15669, 14408, 13120, 11807, 10472, 9117, 7745, 6359, 4961, 3553, 2139, 721, -698, -2116, -3531, -4939, -6337, -7724, -9096, -10451, -11786, -13099, -14388, -15650, -16882, -18082, -19249, -20380, -21472, -22524, -23534, -24499, -25419, -26290, -27113, -27884, -28604, -29269, -29880, -30434, -30932, -31371, -31751, -32072, -32333, -32533, -32672, -32749, -32765, -32720, -32613, -32445, -32216, -31927, -31577, -31169, -30701, -30177, -29595, -28958, -28267, -27523, -26726, -25880, -24985, -24044, -23057, -22027, -20955, -19845, -18697, -17513, -16297, -15051, -13776, -12475, -11151, -9806, -8443, -7063, -5671, -4268, -2856, -1440}},
|
||||
{167U, 143U, {0, 1440, 2877, 4309, 5732, 7144, 8542, 9924, 11287, 12628, 13944, 15234, 16494, 17722, 18916, 20074, 21192, 22270, 23305, 24294, 25237, 26131, 26975, 27766, 28504, 29187, 29813, 30382, 30892, 31342, 31732, 32061, 32327, 32531, 32673, 32751, 32766, 32717, 32606, 32431, 32194, 31895, 31534, 31112, 30630, 30088, 29489, 28833, 28121, 27354, 26535, 25665, 24745, 23777, 22763, 21705, 20606, 19466, 18289, 17077, 15831, 14555, 13251, 11921, 10569, 9196, 7805, 6399, 4980, 3552, 2117, 679, -761, -2199, -3634, -5061, -6479, -7884, -9274, -10646, -11998, -13326, -14629, -15903, -17147, -18357, -19532, -20669, -21767, -22822, -23833, -24798, -25715, -26583, -27399, -28162, -28871, -29524, -30120, -30658, -31137, -31555, -31913, -32208, -32442, -32613, -32721, -32766, -32747, -32665, -32520, -32313, -32042, -31710, -31317, -30863, -30350, -29777, -29148, -28462, -27721, -26926, -26080, -25183, -24238, -23245, -22208, -21128, -20007, -18847, -17651, -16421, -15159, -13868, -12550, -11208, -9844, -8461, -7062, -5649, -4225, -2793, -1356}},
|
||||
{171U, 140U, {0, 1469, 2935, 4395, 5847, 7286, 8711, 10119, 11506, 12870, 14208, 15517, 16795, 18040, 19248, 20418, 21546, 22631, 23671, 24663, 25605, 26496, 27334, 28117, 28843, 29511, 30120, 30668, 31155, 31579, 31939, 32235, 32467, 32633, 32733, 32768, 32737, 32640, 32477, 32249, 31956, 31599, 31179, 30695, 30150, 29544, 28879, 28156, 27376, 26542, 25653, 24714, 23724, 22687, 21604, 20478, 19310, 18104, 16862, 15585, 14277, 12940, 11578, 10192, 8786, 7361, 5923, 4472, 3012, 1546, 77, -1391, -2857, -4318, -5770, -7210, -8636, -10044, -11432, -12797, -14137, -15448, -16728, -17974, -19185, -20356, -21487, -22574, -23616, -24611, -25556, -26450, -27290, -28076, -28805, -29476, -30088, -30640, -31130, -31557, -31921, -32220, -32455, -32625, -32729, -32767, -32739, -32645, -32486, -32262, -31972, -31618, -31201, -30721, -30179, -29577, -28915, -28195, -27418, -26586, -25700, -24763, -23776, -22742, -21661, -20537, -19372, -18168, -16927, -15652, -14346, -13010, -11649, -10264, -8859, -7436, -5997, -4547, -3088, -1622}},
|
||||
{173U, 138U, {0, 1490, 2978, 4459, 5931, 7391, 8835, 10261, 11666, 13047, 14401, 15724, 17016, 18272, 19490, 20668, 21803, 22893, 23936, 24929, 25871, 26759, 27591, 28367, 29084, 29740, 30335, 30867, 31336, 31739, 32077, 32348, 32552, 32689, 32759, 32760, 32694, 32560, 32359, 32090, 31756, 31355, 30890, 30360, 29768, 29114, 28400, 27627, 26797, 25912, 24973, 23982, 22941, 21853, 20720, 19544, 18327, 17073, 15783, 14461, 13108, 11729, 10325, 8900, 7456, 5997, 4525, 3044, 1557, 67, -1423, -2910, -4392, -5864, -7324, -8770, -10197, -11603, -12984, -14339, -15665, -16958, -18215, -19435, -20615, -21752, -22845, -23889, -24885, -25829, -26719, -27554, -28332, -29052, -29711, -30309, -30844, -31315, -31721, -32062, -32336, -32544, -32684, -32756, -32761, -32697, -32566, -32368, -32103, -31771, -31373, -30911, -30384, -29795, -29144, -28433, -27662, -26835, -25952, -25015, -24026, -22988, -21902, -20771, -19597, -18382, -17129, -15841, -14520, -13168, -11790, -10387, -8963, -7520, -6062, -4591, -3110, -1623}},
|
||||
{177U, 135U, {0, 1520, 3038, 4548, 6049, 7537, 9008, 10461, 11890, 13294, 14670, 16013, 17323, 18595, 19827, 21016, 22160, 23256, 24302, 25296, 26235, 27118, 27942, 28706, 29408, 30047, 30622, 31130, 31571, 31944, 32249, 32484, 32648, 32743, 32767, 32721, 32604, 32416, 32159, 31833, 31438, 30975, 30446, 29851, 29192, 28470, 27686, 26843, 25942, 24985, 23975, 22912, 21801, 20642, 19439, 18194, 16910, 15590, 14235, 12851, 11438, 10001, 8542, 7065, 5573, 4069, 2556, 1037, -483, -2003, -3518, -5026, -6523, -8006, -9472, -10917, -12339, -13734, -15100, -16433, -17730, -18990, -20209, -21384, -22513, -23593, -24623, -25599, -26521, -27385, -28191, -28935, -29618, -30236, -30789, -31277, -31696, -32048, -32330, -32543, -32685, -32757, -32759, -32690, -32551, -32341, -32062, -31714, -31297, -30813, -30263, -29647, -28968, -28226, -27423, -26562, -25643, -24669, -23641, -22563, -21436, -20263, -19047, -17789, -16493, -15161, -13797, -12403, -10982, -9538, -8073, -6591, -5095, -3587, -2072}},
|
||||
{179U, 133U, {0, 1543, 3082, 4615, 6137, 7645, 9137, 10608, 12056, 13477, 14869, 16227, 17549, 18833, 20074, 21271, 22421, 23521, 24569, 25563, 26500, 27378, 28195, 28950, 29641, 30265, 30823, 31313, 31733, 32082, 32361, 32567, 32702, 32764, 32753, 32669, 32513, 32286, 31986, 31615, 31175, 30665, 30087, 29443, 28733, 27959, 27124, 26228, 25274, 24265, 23201, 22086, 20921, 19711, 18457, 17161, 15828, 14460, 13059, 11630, 10175, 8697, 7200, 5687, 4161, 2627, 1086, -456, -1998, -3536, -5066, -6584, -8088, -9574, -11039, -12479, -13892, -15274, -16622, -17933, -19204, -20433, -21616, -22751, -23836, -24869, -25846, -26765, -27625, -28424, -29160, -29832, -30437, -30974, -31443, -31842, -32171, -32428, -32614, -32727, -32767, -32735, -32630, -32452, -32203, -31883, -31491, -31030, -30500, -29902, -29238, -28509, -27717, -26864, -25951, -24980, -23954, -22875, -21745, -20567, -19343, -18076, -16769, -15425, -14047, -12638, -11200, -9738, -8254, -6752, -5235, -3706, -2170}},
|
||||
{183U, 131U, {0, 1574, 3144, 4706, 6258, 7795, 9315, 10813, 12286, 13730, 15143, 16521, 17861, 19160, 20414, 21622, 22779, 23884, 24934, 25926, 26858, 27729, 28535, 29276, 29949, 30553, 31086, 31548, 31937, 32252, 32493, 32659, 32750, 32765, 32704, 32568, 32356, 32071, 31711, 31278, 30772, 30196, 29550, 28836, 28055, 27210, 26302, 25333, 24305, 23222, 22085, 20897, 19661, 18379, 17055, 15692, 14293, 12860, 11398, 9909, 8398, 6867, 5321, 3762, 2194, 622, -951, -2523, -4089, -5645, -7189, -8716, -10223, -11706, -13162, -14588, -15980, -17335, -18651, -19923, -21149, -22327, -23453, -24525, -25540, -26496, -27391, -28223, -28990, -29690, -30322, -30883, -31373, -31791, -32136, -32406, -32602, -32722, -32767, -32736, -32630, -32448, -32191, -31861, -31456, -30979, -30431, -29812, -29125, -28370, -27550, -26667, -25722, -24717, -23656, -22539, -21371, -20154, -18890, -17582, -16234, -14849, -13429, -11978, -10499, -8997, -7473, -5933, -4378, -2814, -1243}},
|
||||
{186U, 129U, {0, 1597, 3190, 4775, 6349, 7908, 9448, 10966, 12457, 13919, 15348, 16741, 18094, 19403, 20667, 21881, 23044, 24152, 25202, 26193, 27121, 27985, 28782, 29511, 30170, 30757, 31272, 31711, 32076, 32364, 32576, 32710, 32766, 32745, 32645, 32468, 32214, 31884, 31477, 30996, 30442, 29815, 29117, 28350, 27515, 26615, 25652, 24628, 23546, 22407, 21216, 19974, 18684, 17350, 15975, 14562, 13114, 11636, 10129, 8599, 7048, 5480, 3899, 2309, 714, -882, -2478, -4067, -5646, -7212, -8761, -10290, -11793, -13269, -14713, -16122, -17493, -18823, -20107, -21344, -22530, -23663, -24739, -25757, -26713, -27606, -28433, -29193, -29884, -30503, -31050, -31523, -31921, -32244, -32490, -32658, -32750, -32763, -32698, -32556, -32336, -32040, -31667, -31219, -30697, -30103, -29436, -28700, -27895, -27024, -26089, -25092, -24036, -22922, -21754, -20534, -19265, -17951, -16594, -15197, -13764, -12299, -10804, -9284, -7742, -6181, -4606, -3020, -1426}},
|
||||
{189U, 126U, {0, 1628, 3253, 4869, 6473, 8062, 9630, 11175, 12692, 14177, 15628, 17040, 18410, 19734, 21010, 22233, 23402, 24513, 25563, 26551, 27472, 28326, 29110, 29821, 30459, 31022, 31508, 31916, 32246, 32496, 32665, 32754, 32761, 32688, 32534, 32300, 31986, 31592, 31121, 30573, 29949, 29251, 28481, 27641, 26732, 25757, 24719, 23619, 22461, 21248, 19982, 18667, 17305, 15901, 14458, 12978, 11467, 9927, 8363, 6778, 5177, 3563, 1939, 311, -1316, -2942, -4560, -6167, -7759, -9331, -10881, -12403, -13895, -15353, -16772, -18150, -19484, -20769, -22003, -23182, -24304, -25367, -26366, -27300, -28167, -28964, -29690, -30342, -30919, -31420, -31844, -32188, -32453, -32638, -32742, -32765, -32707, -32569, -32350, -32051, -31673, -31216, -30682, -30073, -29389, -28633, -27806, -26910, -25947, -24921, -23833, -22686, -21483, -20227, -18921, -17568, -16172, -14735, -13263, -11757, -10223, -8663, -7082, -5483, -3871, -2249}},
|
||||
{192U, 124U, {0, 1653, 3302, 4943, 6571, 8182, 9773, 11338, 12875, 14379, 15846, 17273, 18656, 19991, 21276, 22506, 23679, 24792, 25841, 26825, 27740, 28585, 29357, 30054, 30674, 31217, 31680, 32062, 32362, 32581, 32716, 32767, 32736, 32621, 32422, 32142, 31779, 31336, 30812, 30210, 29531, 28777, 27950, 27052, 26084, 25050, 23953, 22794, 21577, 20305, 18982, 17610, 16193, 14736, 13240, 11711, 10152, 8567, 6960, 5336, 3698, 2051, 398, -1255, -2905, -4548, -6180, -7795, -9391, -10963, -12507, -14019, -15496, -16933, -18326, -19674, -20971, -22214, -23401, -24529, -25594, -26593, -27525, -28387, -29177, -29892, -30531, -31092, -31575, -31976, -32297, -32535, -32690, -32762, -32750, -32655, -32477, -32216, -31873, -31449, -30944, -30361, -29701, -28965, -28155, -27273, -26322, -25304, -24221, -23077, -21874, -20615, -19304, -17943, -16537, -15089, -13602, -12081, -10529, -8950, -7348, -5727, -4092, -2447}},
|
||||
{196U, 122U, {0, 1686, 3367, 5040, 6699, 8340, 9959, 11552, 13114, 14642, 16131, 17577, 18976, 20326, 21621, 22859, 24037, 25151, 26198, 27176, 28082, 28913, 29668, 30345, 30941, 31455, 31886, 32232, 32493, 32668, 32756, 32758, 32673, 32501, 32243, 31900, 31473, 30962, 30369, 29695, 28943, 28114, 27211, 26236, 25191, 24080, 22904, 21669, 20375, 19028, 17630, 16186, 14699, 13173, 11612, 10020, 8401, 6761, 5102, 3430, 1749, 63, -1621, -3303, -4976, -6636, -8278, -9898, -11492, -13055, -14584, -16074, -17522, -18924, -20275, -21572, -22813, -23992, -25109, -26159, -27139, -28048, -28882, -29640, -30320, -30919, -31436, -31870, -32220, -32484, -32662, -32754, -32758, -32677, -32508, -32254, -31914, -31489, -30981, -30391, -29721, -28972, -28146, -27246, -26273, -25231, -24122, -22949, -21715, -20424, -19079, -17683, -16240, -14754, -13230, -11670, -10079, -8462, -6822, -5164, -3492, -1812}},
|
||||
{199U, 120U, {0, 1711, 3417, 5113, 6796, 8460, 10101, 11715, 13297, 14842, 16347, 17807, 19219, 20578, 21881, 23125, 24305, 25420, 26464, 27437, 28335, 29155, 29897, 30556, 31132, 31624, 32029, 32346, 32576, 32716, 32768, 32730, 32603, 32386, 32082, 31690, 31212, 30648, 30001, 29272, 28463, 27577, 26615, 25581, 24477, 23307, 22072, 20778, 19427, 18023, 16569, 15071, 13531, 11955, 10346, 8709, 7048, 5367, 3673, 1968, 257, -1453, -3160, -4858, -6543, -8210, -9855, -11473, -13060, -14611, -16122, -17590, -19009, -20376, -21688, -22941, -24131, -25255, -26311, -27295, -28204, -29036, -29789, -30461, -31050, -31554, -31972, -32303, -32546, -32700, -32765, -32740, -32626, -32424, -32132, -31753, -31288, -30737, -30103, -29386, -28589, -27714, -26764, -25740, -24647, -23486, -22261, -20975, -19632, -18236, -16790, -15298, -13764, -12193, -10589, -8955, -7298, -5620, -3927, -2223}},
|
||||
{203U, 118U, {0, 1745, 3485, 5215, 6930, 8626, 10297, 11939, 13547, 15117, 16643, 18123, 19551, 20923, 22237, 23487, 24670, 25784, 26824, 27788, 28673, 29477, 30198, 30832, 31379, 31837, 32205, 32481, 32666, 32757, 32756, 32661, 32474, 32195, 31824, 31363, 30813, 30176, 29453, 28646, 27758, 26792, 25749, 24633, 23448, 22196, 20880, 19506, 18076, 16595, 15067, 13496, 11887, 10244, 8572, 6876, 5160, 3429, 1689, -55, -1800, -3539, -5269, -6984, -8679, -10349, -11990, -13597, -15165, -16690, -18168, -19595, -20965, -22277, -23525, -24706, -25817, -26855, -27817, -28699, -29501, -30218, -30850, -31394, -31850, -32214, -32488, -32669, -32757, -32753, -32656, -32466, -32183, -31810, -31346, -30793, -30153, -29427, -28618, -27728, -26759, -25714, -24596, -23408, -22154, -20836, -19460, -18029, -16546, -15017, -13444, -11834, -10190, -8517, -6820, -5104, -3373, -1633}},
|
||||
{206U, 116U, {0, 1771, 3536, 5291, 7031, 8750, 10444, 12107, 13734, 15322, 16865, 18358, 19798, 21180, 22500, 23754, 24939, 26051, 27087, 28044, 28919, 29709, 30413, 31028, 31552, 31984, 32322, 32566, 32715, 32768, 32725, 32587, 32354, 32026, 31604, 31091, 30486, 29792, 29011, 28146, 27198, 26171, 25067, 23890, 22643, 21330, 19955, 18521, 17033, 15496, 13913, 12290, 10630, 8940, 7223, 5486, 3732, 1968, 197, -1573, -3339, -5095, -6837, -8559, -10255, -11922, -13554, -15146, -16694, -18193, -19639, -21028, -22355, -23617, -24810, -25930, -26975, -27941, -28825, -29625, -30338, -30963, -31497, -31939, -32288, -32542, -32702, -32766, -32734, -32606, -32383, -32066, -31655, -31151, -30557, -29873, -29101, -28245, -27306, -26288, -25192, -24023, -22784, -21478, -20110, -18683, -17201, -15668, -14090, -12471, -10816, -9129, -7415, -5679, -3927, -2164}},
|
||||
{210U, 114U, {0, 1807, 3608, 5398, 7172, 8923, 10648, 12341, 13995, 15608, 17172, 18685, 20141, 21535, 22864, 24123, 25309, 26418, 27447, 28392, 29251, 30021, 30699, 31284, 31774, 32167, 32463, 32659, 32757, 32754, 32652, 32451, 32151, 31753, 31259, 30669, 29986, 29212, 28350, 27400, 26368, 25255, 24066, 22803, 21471, 20074, 18615, 17100, 15533, 13919, 12262, 10568, 8842, 7089, 5314, 3523, 1722, -84, -1890, -3691, -5481, -7253, -9004, -10727, -12418, -14071, -15681, -17244, -18754, -20207, -21598, -22924, -24180, -25362, -26467, -27492, -28433, -29288, -30054, -30728, -31308, -31794, -32182, -32473, -32665, -32758, -32751, -32644, -32438, -32134, -31731, -31232, -30638, -29951, -29173, -28306, -27353, -26316, -25200, -24007, -22741, -21406, -20005, -18544, -17027, -15457, -13841, -12182, -10486, -8759, -7005, -5229, -3438, -1636}},
|
||||
{218U, 110U, {0, 1870, 3734, 5586, 7419, 9228, 11008, 12751, 14453, 16108, 17710, 19254, 20736, 22150, 23492, 24758, 25942, 27042, 28054, 28975, 29801, 30530, 31159, 31687, 32112, 32432, 32646, 32754, 32755, 32650, 32437, 32120, 31697, 31171, 30544, 29817, 28993, 28074, 27064, 25966, 24783, 23519, 22179, 20766, 19286, 17742, 16141, 14488, 12787, 11044, 9265, 7457, 5624, 3772, 1909, 39, -1830, -3695, -5547, -7381, -9190, -10970, -12715, -14417, -16073, -17676, -19222, -20705, -22121, -23464, -24731, -25918, -27020, -28033, -28956, -29784, -30515, -31146, -31677, -32103, -32425, -32642, -32752, -32755, -32652, -32442, -32126, -31706, -31182, -30557, -29832, -29010, -28093, -27085, -25988, -24807, -23545, -22206, -20795, -19316, -17774, -16174, -14521, -12821, -11079, -9302, -7493, -5661, -3810, -1946}},
|
||||
{225U, 106U, {0, 1935, 3863, 5778, 7673, 9541, 11375, 13170, 14919, 16616, 18255, 19830, 21336, 22767, 24119, 25387, 26566, 27653, 28643, 29533, 30319, 31000, 31573, 32036, 32387, 32625, 32748, 32758, 32653, 32435, 32103, 31659, 31104, 30441, 29672, 28799, 27826, 26755, 25591, 24338, 23000, 21582, 20088, 18524, 16895, 15208, 13467, 11680, 9851, 7989, 6098, 4186, 2260, 325, -1609, -3539, -5457, -7355, -9228, -11069, -12871, -14628, -16334, -17983, -19569, -21087, -22531, -23897, -25179, -26374, -27476, -28482, -29389, -30194, -30893, -31484, -31965, -32335, -32592, -32735, -32763, -32678, -32478, -32165, -31740, -31204, -30559, -29807, -28952, -27995, -26941, -25792, -24554, -23229, -21824, -20343, -18790, -17172, -15494, -13762, -11982, -10160, -8303, -6416, -4507, -2583}},
|
||||
{229U, 105U, {0, 1964, 3921, 5864, 7786, 9680, 11539, 13357, 15127, 16842, 18496, 20084, 21600, 23038, 24394, 25661, 26837, 27916, 28894, 29768, 30536, 31194, 31739, 32170, 32486, 32685, 32766, 32729, 32575, 32304, 31916, 31413, 30798, 30072, 29238, 28298, 27257, 26118, 24885, 23562, 22155, 20668, 19106, 17476, 15783, 14033, 12233, 10389, 8507, 6595, 4660, 2707, 745, -1219, -3180, -5129, -7060, -8965, -10838, -12673, -14461, -16198, -17876, -19490, -21034, -22502, -23889, -25191, -26402, -27517, -28534, -29449, -30257, -30956, -31545, -32019, -32379, -32622, -32748, -32756, -32646, -32419, -32075, -31616, -31043, -30359, -29565, -28665, -27662, -26560, -25362, -24072, -22696, -21239, -19705, -18100, -16431, -14702, -12920, -11091, -9223, -7322, -5394, -3447, -1488}},
|
||||
{233U, 103U, {0, 2003, 3998, 5978, 7936, 9864, 11756, 13603, 15400, 17139, 18814, 20418, 21946, 23393, 24751, 26017, 27186, 28254, 29215, 30068, 30807, 31432, 31939, 32327, 32594, 32739, 32762, 32662, 32440, 32097, 31634, 31052, 30354, 29543, 28622, 27593, 26461, 25231, 23906, 22491, 20993, 19416, 17766, 16050, 14274, 12445, 10569, 8653, 6705, 4733, 2742, 741, -1261, -3260, -5247, -7214, -9154, -11060, -12925, -14741, -16502, -18201, -19832, -21389, -22867, -24258, -25559, -26765, -27870, -28871, -29764, -30546, -31214, -31765, -32197, -32509, -32699, -32767, -32712, -32535, -32237, -31818, -31280, -30625, -29855, -28974, -27985, -26891, -25696, -24405, -23023, -21555, -20007, -18383, -16691, -14936, -13126, -11266, -9365, -7428, -5464, -3479, -1481}},
|
||||
{241U, 99U, {0, 2073, 4138, 6186, 8209, 10199, 12149, 14050, 15894, 17675, 19385, 21018, 22566, 24024, 25385, 26645, 27799, 28840, 29767, 30574, 31258, 31818, 32250, 32552, 32725, 32766, 32676, 32455, 32104, 31624, 31018, 30287, 29436, 28466, 27382, 26189, 24890, 23492, 22000, 20420, 18757, 17020, 15215, 13348, 11428, 9463, 7459, 5426, 3371, 1302, -771, -2842, -4901, -6941, -8953, -10929, -12861, -14742, -16564, -18319, -20001, -21603, -23118, -24541, -25866, -27086, -28199, -29198, -30080, -30842, -31480, -31992, -32376, -32631, -32754, -32747, -32608, -32338, -31939, -31412, -30759, -29983, -29087, -28075, -26949, -25716, -24380, -22946, -21421, -19809, -18118, -16355, -14526, -12639, -10701, -8720, -6704, -4662, -2601}},
|
||||
{250U, 96U, {0, 2146, 4282, 6400, 8491, 10545, 12554, 14509, 16402, 18224, 19968, 21627, 23192, 24658, 26019, 27267, 28398, 29408, 30291, 31045, 31665, 32149, 32495, 32702, 32768, 32694, 32479, 32125, 31633, 31005, 30244, 29353, 28337, 27198, 25943, 24577, 23105, 21534, 19870, 18121, 16295, 14398, 12440, 10428, 8372, 6279, 4160, 2022, -123, -2268, -4404, -6520, -8609, -10661, -12667, -14619, -16508, -18326, -20065, -21718, -23278, -24739, -26092, -27334, -28459, -29461, -30337, -31083, -31695, -32172, -32510, -32708, -32766, -32684, -32461, -32099, -31599, -30964, -30195, -29297, -28273, -27128, -25867, -24494, -23016, -21439, -19771, -18017, -16186, -14286, -12324, -10310, -8251, -6157, -4036, -1898}},
|
||||
{254U, 94U, {0, 2178, 4347, 6496, 8617, 10699, 12734, 14713, 16627, 18467, 20226, 21895, 23467, 24935, 26293, 27535, 28655, 29648, 30510, 31237, 31826, 32274, 32580, 32741, 32757, 32629, 32356, 31940, 31382, 30686, 29854, 28890, 27799, 26584, 25251, 23807, 22258, 20610, 18871, 17049, 15151, 13186, 11163, 9090, 6977, 4834, 2668, 492, -1687, -3858, -6013, -8141, -10233, -12279, -14271, -16201, -18058, -19836, -21526, -23120, -24613, -25996, -27265, -28412, -29435, -30327, -31084, -31705, -32185, -32522, -32716, -32765, -32669, -32429, -32045, -31519, -30854, -30053, -29118, -28055, -26867, -25561, -24141, -22615, -20989, -19270, -17466, -15584, -13633, -11623, -9560, -7456, -5318, -3157}}
|
||||
const struct CTCSS_TABLE {
|
||||
uint8_t frequency;
|
||||
uint16_t length;
|
||||
q15_t increment;
|
||||
} CTCSS_TABLE[] = {
|
||||
{ 67U, 358U, 92},
|
||||
{ 69U, 346U, 95},
|
||||
{ 71U, 334U, 99},
|
||||
{ 74U, 323U, 102},
|
||||
{ 77U, 312U, 106},
|
||||
{ 79U, 301U, 109},
|
||||
{ 82U, 291U, 113},
|
||||
{ 85U, 281U, 117},
|
||||
{ 88U, 271U, 121},
|
||||
{ 91U, 262U, 125},
|
||||
{ 94U, 253U, 130},
|
||||
{ 97U, 246U, 133},
|
||||
{100U, 240U, 137},
|
||||
{103U, 232U, 142},
|
||||
{107U, 224U, 147},
|
||||
{110U, 216U, 152},
|
||||
{114U, 209U, 157},
|
||||
{118U, 202U, 163},
|
||||
{123U, 195U, 168},
|
||||
{127U, 189U, 174},
|
||||
{131U, 182U, 180},
|
||||
{136U, 176U, 187},
|
||||
{141U, 170U, 193},
|
||||
{146U, 164U, 200},
|
||||
{151U, 159U, 207},
|
||||
{156U, 153U, 214},
|
||||
{159U, 150U, 219},
|
||||
{162U, 148U, 222},
|
||||
{165U, 145U, 226},
|
||||
{167U, 143U, 230},
|
||||
{171U, 140U, 234},
|
||||
{173U, 138U, 238},
|
||||
{177U, 135U, 243},
|
||||
{179U, 133U, 246},
|
||||
{183U, 131U, 251},
|
||||
{186U, 129U, 255},
|
||||
{189U, 126U, 260},
|
||||
{192U, 124U, 264},
|
||||
{196U, 122U, 269},
|
||||
{199U, 120U, 273},
|
||||
{203U, 118U, 278},
|
||||
{206U, 116U, 282},
|
||||
{210U, 114U, 288},
|
||||
{218U, 110U, 298},
|
||||
{225U, 106U, 309},
|
||||
{229U, 105U, 313},
|
||||
{233U, 103U, 319},
|
||||
{241U, 99U, 331},
|
||||
{250U, 96U, 342},
|
||||
{254U, 94U, 347}
|
||||
};
|
||||
|
||||
const uint8_t CTCSS_TABLE_LEN = 50U;
|
||||
|
||||
CFMCTCSSTX::CFMCTCSSTX() :
|
||||
m_entry(NULL),
|
||||
m_level(128 * 128),
|
||||
m_values(NULL),
|
||||
m_length(0U),
|
||||
m_n(0U)
|
||||
{
|
||||
}
|
||||
|
||||
uint8_t CFMCTCSSTX::setParams(uint8_t frequency, uint8_t level)
|
||||
{
|
||||
struct CTCSS_TABLE* entry = NULL;
|
||||
|
||||
for (uint8_t i = 0U; i < CTCSS_TABLE_LEN; i++) {
|
||||
if (CTCSS_TONES[i].m_frequency == frequency) {
|
||||
m_entry = CTCSS_TONES + i;
|
||||
if (CTCSS_TABLE[i].frequency == frequency) {
|
||||
entry = CTCSS_TABLE + i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_level = q15_t(level * 128);
|
||||
if (entry == NULL)
|
||||
return 4U;
|
||||
|
||||
return m_entry == NULL ? 4U : 0U;
|
||||
m_length = entry->length;
|
||||
|
||||
m_values = new q15_t[m_length];
|
||||
|
||||
q15_t arg = 0;
|
||||
for (uint16_t i = 0U; i < m_length; i++) {
|
||||
q31_t value = ::arm_sin_q15(arg) * q15_t(level * 128);
|
||||
m_values[i] = q15_t(__SSAT((value >> 15), 16));
|
||||
|
||||
arg += entry->increment;
|
||||
}
|
||||
|
||||
return 0U;
|
||||
}
|
||||
|
||||
void CFMCTCSSTX::getAudio(q15_t* samples, uint8_t length)
|
||||
{
|
||||
if (m_entry == NULL)
|
||||
return;
|
||||
|
||||
for (uint8_t i = 0U; i < length; i++) {
|
||||
q31_t sample = m_entry->m_values[m_n] * m_level;
|
||||
samples[i] = q15_t(__SSAT((sample >> 15), 16));
|
||||
samples[i] = m_values[m_n];
|
||||
|
||||
m_n++;
|
||||
if (m_n >= m_entry->m_length)
|
||||
if (m_n >= m_length)
|
||||
m_n = 0U;
|
||||
}
|
||||
}
|
||||
|
|
12
FMCTCSSTX.h
12
FMCTCSSTX.h
|
@ -21,12 +21,6 @@
|
|||
|
||||
#include "Config.h"
|
||||
|
||||
struct CTCSS_TABLE {
|
||||
uint8_t m_frequency;
|
||||
uint16_t m_length;
|
||||
q15_t m_values[360U];
|
||||
};
|
||||
|
||||
class CFMCTCSSTX {
|
||||
public:
|
||||
CFMCTCSSTX();
|
||||
|
@ -36,9 +30,9 @@ public:
|
|||
void getAudio(q15_t* samples, uint8_t length);
|
||||
|
||||
private:
|
||||
CTCSS_TABLE* m_entry;
|
||||
q15_t m_level;
|
||||
uint16_t m_n;
|
||||
q15_t* m_values;
|
||||
uint16_t m_length;
|
||||
uint16_t m_n;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue