// -*- mode: c++ -*- #ifndef SYNTHTABLE_H #define SYNTHTABLE_H #include "utils.h" namespace _sbsms_ { long synthTable1[512] = { 2147450880, 2147319810, 2146795530, 2146009110, 2144895015, 2143387710, 2141618265, 2139521145, 2137096350, 2134343880, 2131329270, 2127921450, 2124185955, 2120188320, 2115863010, 2111144490, 2106163830, 2100921030, 2095285020, 2089321335, 2083095510, 2076542010, 2069660835, 2062451985, 2054980995, 2047182330, 2039055990, 2030667510, 2021951355, 2012907525, 2003536020, 1993902375, 1984006590, 1973783130, 1963231995, 1952418720, 1941277770, 1929874680, 1918143915, 1906151010, 1893895965, 1881313245, 1868468385, 1855361385, 1841926710, 1828229895, 1814270940, 1800049845, 1785566610, 1770755700, 1755748185, 1740412995, 1724881200, 1709021730, 1692965655, 1676581905, 1660001550, 1643159055, 1626054420, 1608753180, 1591124265, 1573364280, 1555276620, 1536992355, 1518445950, 1499702940, 1480763325, 1461561570, 1442163210, 1422502710, 1402645605, 1382591895, 1362341580, 1341829125, 1321185600, 1300279935, 1279243200, 1257944325, 1236514380, 1214887830, 1193064675, 1171044915, 1148894085, 1126546650, 1104002610, 1081327500, 1058455785, 1035453000, 1012319145, 988988685, 965527155, 941934555, 918145350, 894290610, 870239265, 846056850, 821808900, 797364345, 772854255, 748213095, 723440865, 698603100, 673634265, 648534360, 623368920, 598137945, 572775900, 547282785, 521789670, 496165485, 470541300, 444786045, 418965255, 393078930, 367127070, 341109675, 315092280, 289009350, 262860885, 236712420, 210498420, 184218885, 158004885, 131659815, 105380280, 79035210, 52690140, 26345070, 0, -26345070, -52690140, -79035210, -105380280, -131659815, -158004885, -184218885, -210498420, -236712420, -262860885, -289009350, -315092280, -341109675, -367127070, -393078930, -418965255, -444786045, -470541300, -496165485, -521789670, -547282785, -572775900, -598137945, -623368920, -648534360, -673634265, -698603100, -723440865, -748213095, -772854255, -797364345, -821808900, -846056850, -870239265, -894290610, -918145350, -941934555, -965527155, -988988685, -1012319145, -1035453000, -1058455785, -1081327500, -1104002610, -1126546650, -1148894085, -1171044915, -1193064675, -1214887830, -1236514380, -1257944325, -1279243200, -1300279935, -1321185600, -1341829125, -1362341580, -1382591895, -1402645605, -1422502710, -1442163210, -1461561570, -1480763325, -1499702940, -1518445950, -1536992355, -1555276620, -1573364280, -1591124265, -1608753180, -1626054420, -1643159055, -1660001550, -1676581905, -1692965655, -1709021730, -1724881200, -1740412995, -1755748185, -1770755700, -1785566610, -1800049845, -1814270940, -1828229895, -1841926710, -1855361385, -1868468385, -1881313245, -1893895965, -1906151010, -1918143915, -1929874680, -1941277770, -1952418720, -1963231995, -1973783130, -1984006590, -1993902375, -2003536020, -2012907525, -2021951355, -2030667510, -2039055990, -2047182330, -2054980995, -2062451985, -2069660835, -2076542010, -2083095510, -2089321335, -2095285020, -2100921030, -2106163830, -2111144490, -2115863010, -2120188320, -2124185955, -2127921450, -2131329270, -2134343880, -2137096350, -2139521145, -2141618265, -2143387710, -2144895015, -2146009110, -2146795530, -2147319810, -2147450880, -2147319810, -2146795530, -2146009110, -2144895015, -2143387710, -2141618265, -2139521145, -2137096350, -2134343880, -2131329270, -2127921450, -2124185955, -2120188320, -2115863010, -2111144490, -2106163830, -2100921030, -2095285020, -2089321335, -2083095510, -2076542010, -2069660835, -2062451985, -2054980995, -2047182330, -2039055990, -2030667510, -2021951355, -2012907525, -2003536020, -1993902375, -1984006590, -1973783130, -1963231995, -1952418720, -1941277770, -1929874680, -1918143915, -1906151010, -1893895965, -1881313245, -1868468385, -1855361385, -1841926710, -1828229895, -1814270940, -1800049845, -1785566610, -1770755700, -1755748185, -1740412995, -1724881200, -1709021730, -1692965655, -1676581905, -1660001550, -1643159055, -1626054420, -1608753180, -1591124265, -1573364280, -1555276620, -1536992355, -1518445950, -1499702940, -1480763325, -1461561570, -1442163210, -1422502710, -1402645605, -1382591895, -1362341580, -1341829125, -1321185600, -1300279935, -1279243200, -1257944325, -1236514380, -1214887830, -1193064675, -1171044915, -1148894085, -1126546650, -1104002610, -1081327500, -1058455785, -1035453000, -1012319145, -988988685, -965527155, -941934555, -918145350, -894290610, -870239265, -846056850, -821808900, -797364345, -772854255, -748213095, -723440865, -698603100, -673634265, -648534360, -623368920, -598137945, -572775900, -547282785, -521789670, -496165485, -470541300, -444786045, -418965255, -393078930, -367127070, -341109675, -315092280, -289009350, -262860885, -236712420, -210498420, -184218885, -158004885, -131659815, -105380280, -79035210, -52690140, -26345070, 0, 26345070, 52690140, 79035210, 105380280, 131659815, 158004885, 184218885, 210498420, 236712420, 262860885, 289009350, 315092280, 341109675, 367127070, 393078930, 418965255, 444786045, 470541300, 496165485, 521789670, 547282785, 572775900, 598137945, 623368920, 648534360, 673634265, 698603100, 723440865, 748213095, 772854255, 797364345, 821808900, 846056850, 870239265, 894290610, 918145350, 941934555, 965527155, 988988685, 1012319145, 1035453000, 1058455785, 1081327500, 1104002610, 1126546650, 1148894085, 1171044915, 1193064675, 1214887830, 1236514380, 1257944325, 1279243200, 1300279935, 1321185600, 1341829125, 1362341580, 1382591895, 1402645605, 1422502710, 1442163210, 1461561570, 1480763325, 1499702940, 1518445950, 1536992355, 1555276620, 1573364280, 1591124265, 1608753180, 1626054420, 1643159055, 1660001550, 1676581905, 1692965655, 1709021730, 1724881200, 1740412995, 1755748185, 1770755700, 1785566610, 1800049845, 1814270940, 1828229895, 1841926710, 1855361385, 1868468385, 1881313245, 1893895965, 1906151010, 1918143915, 1929874680, 1941277770, 1952418720, 1963231995, 1973783130, 1984006590, 1993902375, 2003536020, 2012907525, 2021951355, 2030667510, 2039055990, 2047182330, 2054980995, 2062451985, 2069660835, 2076542010, 2083095510, 2089321335, 2095285020, 2100921030, 2106163830, 2111144490, 2115863010, 2120188320, 2124185955, 2127921450, 2131329270, 2134343880, 2137096350, 2139521145, 2141618265, 2143387710, 2144895015, 2146009110, 2146795530, 2147319810 }; long synthTable2[512] = { -2, -8, -12, -17, -23, -27, -32, -37, -42, -46, -52, -57, -61, -66, -72, -76, -80, -86, -91, -95, -100, -105, -110, -114, -119, -124, -128, -133, -138, -143, -147, -151, -156, -161, -165, -170, -174, -179, -183, -187, -192, -196, -200, -205, -209, -213, -217, -221, -226, -229, -234, -237, -242, -245, -250, -253, -257, -261, -264, -269, -271, -276, -279, -283, -286, -289, -293, -296, -300, -303, -306, -309, -313, -315, -319, -321, -325, -327, -330, -333, -336, -338, -341, -344, -346, -349, -351, -353, -356, -358, -360, -363, -364, -367, -369, -370, -373, -374, -376, -378, -379, -381, -383, -384, -385, -387, -389, -389, -391, -391, -393, -394, -395, -396, -397, -397, -398, -399, -399, -400, -401, -400, -402, -401, -402, -402, -402, -402, -402, -402, -402, -402, -401, -402, -400, -401, -400, -399, -399, -398, -397, -397, -396, -395, -394, -393, -391, -391, -389, -389, -387, -385, -384, -383, -381, -379, -378, -376, -374, -373, -370, -369, -367, -364, -363, -360, -358, -356, -353, -351, -349, -346, -344, -341, -338, -336, -333, -330, -327, -325, -321, -319, -315, -313, -309, -306, -303, -300, -296, -293, -289, -286, -283, -279, -276, -271, -269, -264, -261, -257, -253, -250, -245, -242, -237, -234, -229, -226, -221, -217, -213, -209, -205, -200, -196, -192, -187, -183, -179, -174, -170, -165, -161, -156, -151, -147, -143, -138, -133, -128, -124, -119, -114, -110, -105, -100, -95, -91, -86, -80, -76, -72, -66, -61, -57, -52, -46, -42, -37, -32, -27, -23, -17, -12, -8, -2, 2, 8, 12, 17, 23, 27, 32, 37, 42, 46, 52, 57, 61, 66, 72, 76, 80, 86, 91, 95, 100, 105, 110, 114, 119, 124, 128, 133, 138, 143, 147, 151, 156, 161, 165, 170, 174, 179, 183, 187, 192, 196, 200, 205, 209, 213, 217, 221, 226, 229, 234, 237, 242, 245, 250, 253, 257, 261, 264, 269, 271, 276, 279, 283, 286, 289, 293, 296, 300, 303, 306, 309, 313, 315, 319, 321, 325, 327, 330, 333, 336, 338, 341, 344, 346, 349, 351, 353, 356, 358, 360, 363, 364, 367, 369, 370, 373, 374, 376, 378, 379, 381, 383, 384, 385, 387, 389, 389, 391, 391, 393, 394, 395, 396, 397, 397, 398, 399, 399, 400, 401, 400, 402, 401, 402, 402, 402, 402, 402, 402, 402, 402, 401, 402, 400, 401, 400, 399, 399, 398, 397, 397, 396, 395, 394, 393, 391, 391, 389, 389, 387, 385, 384, 383, 381, 379, 378, 376, 374, 373, 370, 369, 367, 364, 363, 360, 358, 356, 353, 351, 349, 346, 344, 341, 338, 336, 333, 330, 327, 325, 321, 319, 315, 313, 309, 306, 303, 300, 296, 293, 289, 286, 283, 279, 276, 271, 269, 264, 261, 257, 253, 250, 245, 242, 237, 234, 229, 226, 221, 217, 213, 209, 205, 200, 196, 192, 187, 183, 179, 174, 170, 165, 161, 156, 151, 147, 143, 138, 133, 128, 124, 119, 114, 110, 105, 100, 95, 91, 86, 80, 76, 72, 66, 61, 57, 52, 46, 42, 37, 32, 27, 23, 17, 12, 8, 2 }; } #endif