Mercurial > libavcodec.hg
changeset 6833:37464a7b3f59 libavcodec
Use ff_sqrt() function instead of using a table
author | vitor |
---|---|
date | Wed, 21 May 2008 16:33:49 +0000 |
parents | 9584a95fefcd |
children | bf3bc36715e6 |
files | ra144.c ra144.h |
diffstat | 2 files changed, 1 insertions(+), 516 deletions(-) [+] |
line wrap: on
line diff
--- a/ra144.c Sat May 17 14:51:49 2008 +0000 +++ b/ra144.c Wed May 21 16:33:49 2008 +0000 @@ -71,7 +71,7 @@ x = x >> 2; } - return (sqrt_table[x] << s) << 2; + return (ff_sqrt(x << 20) << s) << 2; } /* do 'voice' */
--- a/ra144.h Sat May 17 14:51:49 2008 +0000 +++ b/ra144.h Wed May 21 16:33:49 2008 +0000 @@ -23,521 +23,6 @@ #define FFMPEG_RA144_H /* 14.4 data tables */ -static const unsigned short sqrt_table[4096]={ - 0, 1024, 1448, 1773, 2048, 2289, 2508, 2709, - 2896, 3072, 3238, 3396, 3547, 3692, 3831, 3965, - 4096, 4222, 4344, 4463, 4579, 4692, 4802, 4910, - 5016, 5120, 5221, 5320, 5418, 5514, 5608, 5701, - 5792, 5882, 5970, 6058, 6144, 6228, 6312, 6394, - 6476, 6556, 6636, 6714, 6792, 6869, 6945, 7020, - 7094, 7168, 7240, 7312, 7384, 7454, 7524, 7594, - 7662, 7731, 7798, 7865, 7931, 7997, 8062, 8127, - 8192, 8255, 8319, 8381, 8444, 8505, 8567, 8628, - 8688, 8749, 8808, 8868, 8927, 8985, 9043, 9101, - 9158, 9216, 9272, 9329, 9385, 9440, 9496, 9551, - 9605, 9660, 9714, 9768, 9821, 9875, 9928, 9980, - 10033, 10085, 10137, 10188, 10240, 10291, 10341, 10392, - 10442, 10492, 10542, 10592, 10641, 10690, 10739, 10788, - 10836, 10885, 10933, 10981, 11028, 11076, 11123, 11170, - 11217, 11264, 11310, 11356, 11402, 11448, 11494, 11539, - 11585, 11630, 11675, 11720, 11764, 11809, 11853, 11897, - 11941, 11985, 12029, 12072, 12116, 12159, 12202, 12245, - 12288, 12330, 12373, 12415, 12457, 12499, 12541, 12583, - 12624, 12666, 12707, 12748, 12789, 12830, 12871, 12912, - 12952, 12993, 13033, 13073, 13113, 13153, 13193, 13232, - 13272, 13312, 13351, 13390, 13429, 13468, 13507, 13546, - 13584, 13623, 13661, 13700, 13738, 13776, 13814, 13852, - 13890, 13927, 13965, 14002, 14040, 14077, 14114, 14151, - 14188, 14225, 14262, 14299, 14336, 14372, 14408, 14445, - 14481, 14517, 14553, 14589, 14625, 14661, 14697, 14732, - 14768, 14803, 14839, 14874, 14909, 14944, 14979, 15014, - 15049, 15084, 15119, 15153, 15188, 15222, 15257, 15291, - 15325, 15360, 15394, 15428, 15462, 15495, 15529, 15563, - 15597, 15630, 15664, 15697, 15730, 15764, 15797, 15830, - 15863, 15896, 15929, 15962, 15995, 16028, 16060, 16093, - 16125, 16158, 16190, 16223, 16255, 16287, 16319, 16351, - 16384, 16415, 16447, 16479, 16511, 16543, 16574, 16606, - 16638, 16669, 16700, 16732, 16763, 16794, 16826, 16857, - 16888, 16919, 16950, 16981, 17011, 17042, 17073, 17104, - 17134, 17165, 17195, 17226, 17256, 17287, 17317, 17347, - 17377, 17408, 17438, 17468, 17498, 17528, 17557, 17587, - 17617, 17647, 17676, 17706, 17736, 17765, 17795, 17824, - 17854, 17883, 17912, 17941, 17971, 18000, 18029, 18058, - 18087, 18116, 18145, 18174, 18203, 18231, 18260, 18289, - 18317, 18346, 18375, 18403, 18432, 18460, 18488, 18517, - 18545, 18573, 18601, 18630, 18658, 18686, 18714, 18742, - 18770, 18798, 18826, 18853, 18881, 18909, 18937, 18964, - 18992, 19019, 19047, 19075, 19102, 19129, 19157, 19184, - 19211, 19239, 19266, 19293, 19320, 19347, 19374, 19402, - 19429, 19456, 19482, 19509, 19536, 19563, 19590, 19617, - 19643, 19670, 19697, 19723, 19750, 19776, 19803, 19829, - 19856, 19882, 19908, 19935, 19961, 19987, 20013, 20040, - 20066, 20092, 20118, 20144, 20170, 20196, 20222, 20248, - 20274, 20300, 20325, 20351, 20377, 20403, 20428, 20454, - 20480, 20505, 20531, 20556, 20582, 20607, 20633, 20658, - 20683, 20709, 20734, 20759, 20784, 20810, 20835, 20860, - 20885, 20910, 20935, 20960, 20985, 21010, 21035, 21060, - 21085, 21110, 21135, 21159, 21184, 21209, 21234, 21258, - 21283, 21308, 21332, 21357, 21381, 21406, 21430, 21455, - 21479, 21504, 21528, 21552, 21577, 21601, 21625, 21649, - 21673, 21698, 21722, 21746, 21770, 21794, 21818, 21842, - 21866, 21890, 21914, 21938, 21962, 21986, 22010, 22033, - 22057, 22081, 22105, 22128, 22152, 22176, 22199, 22223, - 22246, 22270, 22294, 22317, 22341, 22364, 22387, 22411, - 22434, 22458, 22481, 22504, 22528, 22551, 22574, 22597, - 22620, 22644, 22667, 22690, 22713, 22736, 22759, 22782, - 22805, 22828, 22851, 22874, 22897, 22920, 22943, 22965, - 22988, 23011, 23034, 23057, 23079, 23102, 23125, 23147, - 23170, 23193, 23215, 23238, 23260, 23283, 23305, 23328, - 23350, 23373, 23395, 23418, 23440, 23462, 23485, 23507, - 23529, 23552, 23574, 23596, 23618, 23640, 23663, 23685, - 23707, 23729, 23751, 23773, 23795, 23817, 23839, 23861, - 23883, 23905, 23927, 23949, 23971, 23993, 24014, 24036, - 24058, 24080, 24102, 24123, 24145, 24167, 24188, 24210, - 24232, 24253, 24275, 24297, 24318, 24340, 24361, 24383, - 24404, 24426, 24447, 24469, 24490, 24511, 24533, 24554, - 24576, 24597, 24618, 24639, 24661, 24682, 24703, 24724, - 24746, 24767, 24788, 24809, 24830, 24851, 24872, 24893, - 24914, 24936, 24957, 24978, 24999, 25019, 25040, 25061, - 25082, 25103, 25124, 25145, 25166, 25187, 25207, 25228, - 25249, 25270, 25290, 25311, 25332, 25353, 25373, 25394, - 25415, 25435, 25456, 25476, 25497, 25517, 25538, 25559, - 25579, 25600, 25620, 25640, 25661, 25681, 25702, 25722, - 25742, 25763, 25783, 25803, 25824, 25844, 25864, 25885, - 25905, 25925, 25945, 25966, 25986, 26006, 26026, 26046, - 26066, 26086, 26106, 26127, 26147, 26167, 26187, 26207, - 26227, 26247, 26267, 26287, 26307, 26326, 26346, 26366, - 26386, 26406, 26426, 26446, 26465, 26485, 26505, 26525, - 26545, 26564, 26584, 26604, 26624, 26643, 26663, 26683, - 26702, 26722, 26741, 26761, 26781, 26800, 26820, 26839, - 26859, 26878, 26898, 26917, 26937, 26956, 26976, 26995, - 27014, 27034, 27053, 27073, 27092, 27111, 27131, 27150, - 27169, 27189, 27208, 27227, 27246, 27266, 27285, 27304, - 27323, 27342, 27362, 27381, 27400, 27419, 27438, 27457, - 27476, 27495, 27514, 27533, 27553, 27572, 27591, 27610, - 27629, 27648, 27666, 27685, 27704, 27723, 27742, 27761, - 27780, 27799, 27818, 27836, 27855, 27874, 27893, 27912, - 27930, 27949, 27968, 27987, 28005, 28024, 28043, 28062, - 28080, 28099, 28118, 28136, 28155, 28173, 28192, 28211, - 28229, 28248, 28266, 28285, 28303, 28322, 28340, 28359, - 28377, 28396, 28414, 28433, 28451, 28470, 28488, 28506, - 28525, 28543, 28562, 28580, 28598, 28617, 28635, 28653, - 28672, 28690, 28708, 28726, 28745, 28763, 28781, 28799, - 28817, 28836, 28854, 28872, 28890, 28908, 28926, 28944, - 28963, 28981, 28999, 29017, 29035, 29053, 29071, 29089, - 29107, 29125, 29143, 29161, 29179, 29197, 29215, 29233, - 29251, 29269, 29287, 29305, 29322, 29340, 29358, 29376, - 29394, 29412, 29429, 29447, 29465, 29483, 29501, 29518, - 29536, 29554, 29572, 29589, 29607, 29625, 29642, 29660, - 29678, 29696, 29713, 29731, 29748, 29766, 29784, 29801, - 29819, 29836, 29854, 29872, 29889, 29907, 29924, 29942, - 29959, 29977, 29994, 30012, 30029, 30047, 30064, 30081, - 30099, 30116, 30134, 30151, 30168, 30186, 30203, 30221, - 30238, 30255, 30273, 30290, 30307, 30324, 30342, 30359, - 30376, 30394, 30411, 30428, 30445, 30462, 30480, 30497, - 30514, 30531, 30548, 30566, 30583, 30600, 30617, 30634, - 30651, 30668, 30685, 30702, 30720, 30737, 30754, 30771, - 30788, 30805, 30822, 30839, 30856, 30873, 30890, 30907, - 30924, 30941, 30958, 30974, 30991, 31008, 31025, 31042, - 31059, 31076, 31093, 31110, 31126, 31143, 31160, 31177, - 31194, 31211, 31227, 31244, 31261, 31278, 31294, 31311, - 31328, 31345, 31361, 31378, 31395, 31411, 31428, 31445, - 31461, 31478, 31495, 31511, 31528, 31545, 31561, 31578, - 31595, 31611, 31628, 31644, 31661, 31677, 31694, 31710, - 31727, 31744, 31760, 31777, 31793, 31809, 31826, 31842, - 31859, 31875, 31892, 31908, 31925, 31941, 31957, 31974, - 31990, 32007, 32023, 32039, 32056, 32072, 32088, 32105, - 32121, 32137, 32154, 32170, 32186, 32203, 32219, 32235, - 32251, 32268, 32284, 32300, 32316, 32333, 32349, 32365, - 32381, 32397, 32414, 32430, 32446, 32462, 32478, 32494, - 32510, 32527, 32543, 32559, 32575, 32591, 32607, 32623, - 32639, 32655, 32671, 32687, 32703, 32719, 32735, 32751, - 32768, 32783, 32799, 32815, 32831, 32847, 32863, 32879, - 32895, 32911, 32927, 32943, 32959, 32975, 32991, 33007, - 33023, 33038, 33054, 33070, 33086, 33102, 33118, 33133, - 33149, 33165, 33181, 33197, 33212, 33228, 33244, 33260, - 33276, 33291, 33307, 33323, 33339, 33354, 33370, 33386, - 33401, 33417, 33433, 33448, 33464, 33480, 33495, 33511, - 33527, 33542, 33558, 33574, 33589, 33605, 33620, 33636, - 33652, 33667, 33683, 33698, 33714, 33729, 33745, 33760, - 33776, 33792, 33807, 33823, 33838, 33854, 33869, 33884, - 33900, 33915, 33931, 33946, 33962, 33977, 33993, 34008, - 34023, 34039, 34054, 34070, 34085, 34100, 34116, 34131, - 34146, 34162, 34177, 34193, 34208, 34223, 34238, 34254, - 34269, 34284, 34300, 34315, 34330, 34346, 34361, 34376, - 34391, 34407, 34422, 34437, 34452, 34467, 34483, 34498, - 34513, 34528, 34543, 34559, 34574, 34589, 34604, 34619, - 34634, 34649, 34665, 34680, 34695, 34710, 34725, 34740, - 34755, 34770, 34785, 34800, 34816, 34831, 34846, 34861, - 34876, 34891, 34906, 34921, 34936, 34951, 34966, 34981, - 34996, 35011, 35026, 35041, 35056, 35071, 35086, 35100, - 35115, 35130, 35145, 35160, 35175, 35190, 35205, 35220, - 35235, 35250, 35264, 35279, 35294, 35309, 35324, 35339, - 35353, 35368, 35383, 35398, 35413, 35428, 35442, 35457, - 35472, 35487, 35501, 35516, 35531, 35546, 35560, 35575, - 35590, 35605, 35619, 35634, 35649, 35664, 35678, 35693, - 35708, 35722, 35737, 35752, 35766, 35781, 35796, 35810, - 35825, 35840, 35854, 35869, 35883, 35898, 35913, 35927, - 35942, 35956, 35971, 35985, 36000, 36015, 36029, 36044, - 36058, 36073, 36087, 36102, 36116, 36131, 36145, 36160, - 36174, 36189, 36203, 36218, 36232, 36247, 36261, 36276, - 36290, 36305, 36319, 36333, 36348, 36362, 36377, 36391, - 36406, 36420, 36434, 36449, 36463, 36477, 36492, 36506, - 36521, 36535, 36549, 36564, 36578, 36592, 36607, 36621, - 36635, 36650, 36664, 36678, 36692, 36707, 36721, 36735, - 36750, 36764, 36778, 36792, 36807, 36821, 36835, 36849, - 36864, 36878, 36892, 36906, 36920, 36935, 36949, 36963, - 36977, 36991, 37005, 37020, 37034, 37048, 37062, 37076, - 37090, 37104, 37119, 37133, 37147, 37161, 37175, 37189, - 37203, 37217, 37231, 37246, 37260, 37274, 37288, 37302, - 37316, 37330, 37344, 37358, 37372, 37386, 37400, 37414, - 37428, 37442, 37456, 37470, 37484, 37498, 37512, 37526, - 37540, 37554, 37568, 37582, 37596, 37610, 37624, 37638, - 37652, 37665, 37679, 37693, 37707, 37721, 37735, 37749, - 37763, 37777, 37791, 37804, 37818, 37832, 37846, 37860, - 37874, 37888, 37901, 37915, 37929, 37943, 37957, 37970, - 37984, 37998, 38012, 38026, 38039, 38053, 38067, 38081, - 38095, 38108, 38122, 38136, 38150, 38163, 38177, 38191, - 38204, 38218, 38232, 38246, 38259, 38273, 38287, 38300, - 38314, 38328, 38341, 38355, 38369, 38382, 38396, 38410, - 38423, 38437, 38451, 38464, 38478, 38492, 38505, 38519, - 38532, 38546, 38560, 38573, 38587, 38600, 38614, 38628, - 38641, 38655, 38668, 38682, 38695, 38709, 38722, 38736, - 38749, 38763, 38777, 38790, 38804, 38817, 38831, 38844, - 38858, 38871, 38885, 38898, 38912, 38925, 38938, 38952, - 38965, 38979, 38992, 39006, 39019, 39033, 39046, 39059, - 39073, 39086, 39100, 39113, 39126, 39140, 39153, 39167, - 39180, 39193, 39207, 39220, 39234, 39247, 39260, 39274, - 39287, 39300, 39314, 39327, 39340, 39354, 39367, 39380, - 39394, 39407, 39420, 39433, 39447, 39460, 39473, 39487, - 39500, 39513, 39526, 39540, 39553, 39566, 39579, 39593, - 39606, 39619, 39632, 39646, 39659, 39672, 39685, 39698, - 39712, 39725, 39738, 39751, 39764, 39778, 39791, 39804, - 39817, 39830, 39843, 39857, 39870, 39883, 39896, 39909, - 39922, 39936, 39949, 39962, 39975, 39988, 40001, 40014, - 40027, 40040, 40053, 40067, 40080, 40093, 40106, 40119, - 40132, 40145, 40158, 40171, 40184, 40197, 40210, 40223, - 40236, 40249, 40262, 40275, 40288, 40301, 40314, 40327, - 40340, 40353, 40366, 40379, 40392, 40405, 40418, 40431, - 40444, 40457, 40470, 40483, 40496, 40509, 40522, 40535, - 40548, 40561, 40574, 40587, 40600, 40612, 40625, 40638, - 40651, 40664, 40677, 40690, 40703, 40716, 40728, 40741, - 40754, 40767, 40780, 40793, 40806, 40818, 40831, 40844, - 40857, 40870, 40883, 40895, 40908, 40921, 40934, 40947, - 40960, 40972, 40985, 40998, 41011, 41023, 41036, 41049, - 41062, 41075, 41087, 41100, 41113, 41126, 41138, 41151, - 41164, 41177, 41189, 41202, 41215, 41227, 41240, 41253, - 41266, 41278, 41291, 41304, 41316, 41329, 41342, 41354, - 41367, 41380, 41392, 41405, 41418, 41430, 41443, 41456, - 41468, 41481, 41494, 41506, 41519, 41532, 41544, 41557, - 41569, 41582, 41595, 41607, 41620, 41632, 41645, 41658, - 41670, 41683, 41695, 41708, 41720, 41733, 41746, 41758, - 41771, 41783, 41796, 41808, 41821, 41833, 41846, 41858, - 41871, 41883, 41896, 41909, 41921, 41934, 41946, 41959, - 41971, 41984, 41996, 42008, 42021, 42033, 42046, 42058, - 42071, 42083, 42096, 42108, 42121, 42133, 42146, 42158, - 42170, 42183, 42195, 42208, 42220, 42233, 42245, 42257, - 42270, 42282, 42295, 42307, 42319, 42332, 42344, 42356, - 42369, 42381, 42394, 42406, 42418, 42431, 42443, 42455, - 42468, 42480, 42492, 42505, 42517, 42529, 42542, 42554, - 42566, 42579, 42591, 42603, 42616, 42628, 42640, 42653, - 42665, 42677, 42689, 42702, 42714, 42726, 42738, 42751, - 42763, 42775, 42788, 42800, 42812, 42824, 42836, 42849, - 42861, 42873, 42885, 42898, 42910, 42922, 42934, 42947, - 42959, 42971, 42983, 42995, 43008, 43020, 43032, 43044, - 43056, 43068, 43081, 43093, 43105, 43117, 43129, 43141, - 43154, 43166, 43178, 43190, 43202, 43214, 43226, 43238, - 43251, 43263, 43275, 43287, 43299, 43311, 43323, 43335, - 43347, 43360, 43372, 43384, 43396, 43408, 43420, 43432, - 43444, 43456, 43468, 43480, 43492, 43504, 43516, 43529, - 43541, 43553, 43565, 43577, 43589, 43601, 43613, 43625, - 43637, 43649, 43661, 43673, 43685, 43697, 43709, 43721, - 43733, 43745, 43757, 43769, 43781, 43793, 43805, 43817, - 43829, 43841, 43853, 43864, 43876, 43888, 43900, 43912, - 43924, 43936, 43948, 43960, 43972, 43984, 43996, 44008, - 44020, 44032, 44043, 44055, 44067, 44079, 44091, 44103, - 44115, 44127, 44139, 44150, 44162, 44174, 44186, 44198, - 44210, 44222, 44233, 44245, 44257, 44269, 44281, 44293, - 44305, 44316, 44328, 44340, 44352, 44364, 44375, 44387, - 44399, 44411, 44423, 44434, 44446, 44458, 44470, 44482, - 44493, 44505, 44517, 44529, 44541, 44552, 44564, 44576, - 44588, 44599, 44611, 44623, 44635, 44646, 44658, 44670, - 44682, 44693, 44705, 44717, 44728, 44740, 44752, 44764, - 44775, 44787, 44799, 44810, 44822, 44834, 44846, 44857, - 44869, 44881, 44892, 44904, 44916, 44927, 44939, 44951, - 44962, 44974, 44986, 44997, 45009, 45021, 45032, 45044, - 45056, 45067, 45079, 45090, 45102, 45114, 45125, 45137, - 45148, 45160, 45172, 45183, 45195, 45207, 45218, 45230, - 45241, 45253, 45264, 45276, 45288, 45299, 45311, 45322, - 45334, 45345, 45357, 45369, 45380, 45392, 45403, 45415, - 45426, 45438, 45449, 45461, 45472, 45484, 45496, 45507, - 45519, 45530, 45542, 45553, 45565, 45576, 45588, 45599, - 45611, 45622, 45634, 45645, 45657, 45668, 45680, 45691, - 45702, 45714, 45725, 45737, 45748, 45760, 45771, 45783, - 45794, 45806, 45817, 45829, 45840, 45851, 45863, 45874, - 45886, 45897, 45909, 45920, 45931, 45943, 45954, 45966, - 45977, 45988, 46000, 46011, 46023, 46034, 46045, 46057, - 46068, 46080, 46091, 46102, 46114, 46125, 46136, 46148, - 46159, 46170, 46182, 46193, 46204, 46216, 46227, 46239, - 46250, 46261, 46273, 46284, 46295, 46306, 46318, 46329, - 46340, 46352, 46363, 46374, 46386, 46397, 46408, 46420, - 46431, 46442, 46453, 46465, 46476, 46487, 46499, 46510, - 46521, 46532, 46544, 46555, 46566, 46577, 46589, 46600, - 46611, 46622, 46634, 46645, 46656, 46667, 46679, 46690, - 46701, 46712, 46724, 46735, 46746, 46757, 46768, 46780, - 46791, 46802, 46813, 46824, 46836, 46847, 46858, 46869, - 46880, 46892, 46903, 46914, 46925, 46936, 46947, 46959, - 46970, 46981, 46992, 47003, 47014, 47026, 47037, 47048, - 47059, 47070, 47081, 47092, 47104, 47115, 47126, 47137, - 47148, 47159, 47170, 47181, 47192, 47204, 47215, 47226, - 47237, 47248, 47259, 47270, 47281, 47292, 47303, 47315, - 47326, 47337, 47348, 47359, 47370, 47381, 47392, 47403, - 47414, 47425, 47436, 47447, 47458, 47469, 47480, 47491, - 47503, 47514, 47525, 47536, 47547, 47558, 47569, 47580, - 47591, 47602, 47613, 47624, 47635, 47646, 47657, 47668, - 47679, 47690, 47701, 47712, 47723, 47734, 47745, 47756, - 47767, 47778, 47789, 47800, 47811, 47822, 47832, 47843, - 47854, 47865, 47876, 47887, 47898, 47909, 47920, 47931, - 47942, 47953, 47964, 47975, 47986, 47997, 48008, 48018, - 48029, 48040, 48051, 48062, 48073, 48084, 48095, 48106, - 48117, 48128, 48138, 48149, 48160, 48171, 48182, 48193, - 48204, 48215, 48225, 48236, 48247, 48258, 48269, 48280, - 48291, 48301, 48312, 48323, 48334, 48345, 48356, 48367, - 48377, 48388, 48399, 48410, 48421, 48432, 48442, 48453, - 48464, 48475, 48486, 48496, 48507, 48518, 48529, 48540, - 48550, 48561, 48572, 48583, 48594, 48604, 48615, 48626, - 48637, 48648, 48658, 48669, 48680, 48691, 48701, 48712, - 48723, 48734, 48744, 48755, 48766, 48777, 48787, 48798, - 48809, 48820, 48830, 48841, 48852, 48863, 48873, 48884, - 48895, 48906, 48916, 48927, 48938, 48948, 48959, 48970, - 48981, 48991, 49002, 49013, 49023, 49034, 49045, 49055, - 49066, 49077, 49087, 49098, 49109, 49119, 49130, 49141, - 49152, 49162, 49173, 49183, 49194, 49205, 49215, 49226, - 49237, 49247, 49258, 49269, 49279, 49290, 49301, 49311, - 49322, 49333, 49343, 49354, 49364, 49375, 49386, 49396, - 49407, 49417, 49428, 49439, 49449, 49460, 49470, 49481, - 49492, 49502, 49513, 49523, 49534, 49545, 49555, 49566, - 49576, 49587, 49597, 49608, 49619, 49629, 49640, 49650, - 49661, 49671, 49682, 49693, 49703, 49714, 49724, 49735, - 49745, 49756, 49766, 49777, 49787, 49798, 49808, 49819, - 49829, 49840, 49851, 49861, 49872, 49882, 49893, 49903, - 49914, 49924, 49935, 49945, 49956, 49966, 49977, 49987, - 49998, 50008, 50019, 50029, 50039, 50050, 50060, 50071, - 50081, 50092, 50102, 50113, 50123, 50134, 50144, 50155, - 50165, 50176, 50186, 50196, 50207, 50217, 50228, 50238, - 50249, 50259, 50269, 50280, 50290, 50301, 50311, 50322, - 50332, 50342, 50353, 50363, 50374, 50384, 50394, 50405, - 50415, 50426, 50436, 50446, 50457, 50467, 50478, 50488, - 50498, 50509, 50519, 50530, 50540, 50550, 50561, 50571, - 50581, 50592, 50602, 50612, 50623, 50633, 50644, 50654, - 50664, 50675, 50685, 50695, 50706, 50716, 50726, 50737, - 50747, 50757, 50768, 50778, 50788, 50799, 50809, 50819, - 50830, 50840, 50850, 50860, 50871, 50881, 50891, 50902, - 50912, 50922, 50933, 50943, 50953, 50963, 50974, 50984, - 50994, 51005, 51015, 51025, 51035, 51046, 51056, 51066, - 51076, 51087, 51097, 51107, 51118, 51128, 51138, 51148, - 51159, 51169, 51179, 51189, 51200, 51210, 51220, 51230, - 51240, 51251, 51261, 51271, 51281, 51292, 51302, 51312, - 51322, 51332, 51343, 51353, 51363, 51373, 51383, 51394, - 51404, 51414, 51424, 51434, 51445, 51455, 51465, 51475, - 51485, 51496, 51506, 51516, 51526, 51536, 51546, 51557, - 51567, 51577, 51587, 51597, 51607, 51618, 51628, 51638, - 51648, 51658, 51668, 51679, 51689, 51699, 51709, 51719, - 51729, 51739, 51750, 51760, 51770, 51780, 51790, 51800, - 51810, 51820, 51830, 51841, 51851, 51861, 51871, 51881, - 51891, 51901, 51911, 51921, 51932, 51942, 51952, 51962, - 51972, 51982, 51992, 52002, 52012, 52022, 52032, 52042, - 52053, 52063, 52073, 52083, 52093, 52103, 52113, 52123, - 52133, 52143, 52153, 52163, 52173, 52183, 52193, 52203, - 52213, 52224, 52234, 52244, 52254, 52264, 52274, 52284, - 52294, 52304, 52314, 52324, 52334, 52344, 52354, 52364, - 52374, 52384, 52394, 52404, 52414, 52424, 52434, 52444, - 52454, 52464, 52474, 52484, 52494, 52504, 52514, 52524, - 52534, 52544, 52554, 52564, 52574, 52584, 52594, 52604, - 52614, 52624, 52633, 52643, 52653, 52663, 52673, 52683, - 52693, 52703, 52713, 52723, 52733, 52743, 52753, 52763, - 52773, 52783, 52793, 52803, 52812, 52822, 52832, 52842, - 52852, 52862, 52872, 52882, 52892, 52902, 52912, 52922, - 52931, 52941, 52951, 52961, 52971, 52981, 52991, 53001, - 53011, 53021, 53030, 53040, 53050, 53060, 53070, 53080, - 53090, 53100, 53109, 53119, 53129, 53139, 53149, 53159, - 53169, 53179, 53188, 53198, 53208, 53218, 53228, 53238, - 53248, 53257, 53267, 53277, 53287, 53297, 53307, 53316, - 53326, 53336, 53346, 53356, 53366, 53375, 53385, 53395, - 53405, 53415, 53424, 53434, 53444, 53454, 53464, 53473, - 53483, 53493, 53503, 53513, 53522, 53532, 53542, 53552, - 53562, 53571, 53581, 53591, 53601, 53611, 53620, 53630, - 53640, 53650, 53659, 53669, 53679, 53689, 53699, 53708, - 53718, 53728, 53738, 53747, 53757, 53767, 53777, 53786, - 53796, 53806, 53816, 53825, 53835, 53845, 53855, 53864, - 53874, 53884, 53893, 53903, 53913, 53923, 53932, 53942, - 53952, 53961, 53971, 53981, 53991, 54000, 54010, 54020, - 54029, 54039, 54049, 54059, 54068, 54078, 54088, 54097, - 54107, 54117, 54126, 54136, 54146, 54155, 54165, 54175, - 54184, 54194, 54204, 54214, 54223, 54233, 54243, 54252, - 54262, 54272, 54281, 54291, 54300, 54310, 54320, 54329, - 54339, 54349, 54358, 54368, 54378, 54387, 54397, 54407, - 54416, 54426, 54435, 54445, 54455, 54464, 54474, 54484, - 54493, 54503, 54512, 54522, 54532, 54541, 54551, 54561, - 54570, 54580, 54589, 54599, 54609, 54618, 54628, 54637, - 54647, 54657, 54666, 54676, 54685, 54695, 54704, 54714, - 54724, 54733, 54743, 54752, 54762, 54772, 54781, 54791, - 54800, 54810, 54819, 54829, 54839, 54848, 54858, 54867, - 54877, 54886, 54896, 54905, 54915, 54924, 54934, 54944, - 54953, 54963, 54972, 54982, 54991, 55001, 55010, 55020, - 55029, 55039, 55048, 55058, 55067, 55077, 55087, 55096, - 55106, 55115, 55125, 55134, 55144, 55153, 55163, 55172, - 55182, 55191, 55201, 55210, 55220, 55229, 55239, 55248, - 55258, 55267, 55277, 55286, 55296, 55305, 55314, 55324, - 55333, 55343, 55352, 55362, 55371, 55381, 55390, 55400, - 55409, 55419, 55428, 55438, 55447, 55456, 55466, 55475, - 55485, 55494, 55504, 55513, 55523, 55532, 55541, 55551, - 55560, 55570, 55579, 55589, 55598, 55608, 55617, 55626, - 55636, 55645, 55655, 55664, 55673, 55683, 55692, 55702, - 55711, 55721, 55730, 55739, 55749, 55758, 55768, 55777, - 55786, 55796, 55805, 55815, 55824, 55833, 55843, 55852, - 55861, 55871, 55880, 55890, 55899, 55908, 55918, 55927, - 55937, 55946, 55955, 55965, 55974, 55983, 55993, 56002, - 56011, 56021, 56030, 56040, 56049, 56058, 56068, 56077, - 56086, 56096, 56105, 56114, 56124, 56133, 56142, 56152, - 56161, 56170, 56180, 56189, 56198, 56208, 56217, 56226, - 56236, 56245, 56254, 56264, 56273, 56282, 56292, 56301, - 56310, 56320, 56329, 56338, 56347, 56357, 56366, 56375, - 56385, 56394, 56403, 56413, 56422, 56431, 56440, 56450, - 56459, 56468, 56478, 56487, 56496, 56505, 56515, 56524, - 56533, 56542, 56552, 56561, 56570, 56580, 56589, 56598, - 56607, 56617, 56626, 56635, 56644, 56654, 56663, 56672, - 56681, 56691, 56700, 56709, 56718, 56728, 56737, 56746, - 56755, 56765, 56774, 56783, 56792, 56802, 56811, 56820, - 56829, 56838, 56848, 56857, 56866, 56875, 56885, 56894, - 56903, 56912, 56921, 56931, 56940, 56949, 56958, 56967, - 56977, 56986, 56995, 57004, 57013, 57023, 57032, 57041, - 57050, 57059, 57069, 57078, 57087, 57096, 57105, 57114, - 57124, 57133, 57142, 57151, 57160, 57170, 57179, 57188, - 57197, 57206, 57215, 57225, 57234, 57243, 57252, 57261, - 57270, 57279, 57289, 57298, 57307, 57316, 57325, 57334, - 57344, 57353, 57362, 57371, 57380, 57389, 57398, 57407, - 57417, 57426, 57435, 57444, 57453, 57462, 57471, 57480, - 57490, 57499, 57508, 57517, 57526, 57535, 57544, 57553, - 57563, 57572, 57581, 57590, 57599, 57608, 57617, 57626, - 57635, 57644, 57654, 57663, 57672, 57681, 57690, 57699, - 57708, 57717, 57726, 57735, 57744, 57753, 57763, 57772, - 57781, 57790, 57799, 57808, 57817, 57826, 57835, 57844, - 57853, 57862, 57871, 57880, 57889, 57899, 57908, 57917, - 57926, 57935, 57944, 57953, 57962, 57971, 57980, 57989, - 57998, 58007, 58016, 58025, 58034, 58043, 58052, 58061, - 58070, 58079, 58088, 58097, 58106, 58115, 58124, 58133, - 58143, 58152, 58161, 58170, 58179, 58188, 58197, 58206, - 58215, 58224, 58233, 58242, 58251, 58260, 58269, 58278, - 58287, 58296, 58305, 58314, 58323, 58332, 58341, 58350, - 58359, 58368, 58376, 58385, 58394, 58403, 58412, 58421, - 58430, 58439, 58448, 58457, 58466, 58475, 58484, 58493, - 58502, 58511, 58520, 58529, 58538, 58547, 58556, 58565, - 58574, 58583, 58592, 58601, 58610, 58618, 58627, 58636, - 58645, 58654, 58663, 58672, 58681, 58690, 58699, 58708, - 58717, 58726, 58735, 58744, 58752, 58761, 58770, 58779, - 58788, 58797, 58806, 58815, 58824, 58833, 58842, 58851, - 58859, 58868, 58877, 58886, 58895, 58904, 58913, 58922, - 58931, 58940, 58948, 58957, 58966, 58975, 58984, 58993, - 59002, 59011, 59020, 59028, 59037, 59046, 59055, 59064, - 59073, 59082, 59091, 59099, 59108, 59117, 59126, 59135, - 59144, 59153, 59162, 59170, 59179, 59188, 59197, 59206, - 59215, 59224, 59232, 59241, 59250, 59259, 59268, 59277, - 59285, 59294, 59303, 59312, 59321, 59330, 59339, 59347, - 59356, 59365, 59374, 59383, 59392, 59400, 59409, 59418, - 59427, 59436, 59444, 59453, 59462, 59471, 59480, 59489, - 59497, 59506, 59515, 59524, 59533, 59541, 59550, 59559, - 59568, 59577, 59585, 59594, 59603, 59612, 59621, 59629, - 59638, 59647, 59656, 59665, 59673, 59682, 59691, 59700, - 59708, 59717, 59726, 59735, 59744, 59752, 59761, 59770, - 59779, 59787, 59796, 59805, 59814, 59822, 59831, 59840, - 59849, 59858, 59866, 59875, 59884, 59893, 59901, 59910, - 59919, 59928, 59936, 59945, 59954, 59963, 59971, 59980, - 59989, 59998, 60006, 60015, 60024, 60032, 60041, 60050, - 60059, 60067, 60076, 60085, 60094, 60102, 60111, 60120, - 60128, 60137, 60146, 60155, 60163, 60172, 60181, 60189, - 60198, 60207, 60216, 60224, 60233, 60242, 60250, 60259, - 60268, 60276, 60285, 60294, 60303, 60311, 60320, 60329, - 60337, 60346, 60355, 60363, 60372, 60381, 60389, 60398, - 60407, 60416, 60424, 60433, 60442, 60450, 60459, 60468, - 60476, 60485, 60494, 60502, 60511, 60520, 60528, 60537, - 60546, 60554, 60563, 60572, 60580, 60589, 60597, 60606, - 60615, 60623, 60632, 60641, 60649, 60658, 60667, 60675, - 60684, 60693, 60701, 60710, 60718, 60727, 60736, 60744, - 60753, 60762, 60770, 60779, 60788, 60796, 60805, 60813, - 60822, 60831, 60839, 60848, 60856, 60865, 60874, 60882, - 60891, 60900, 60908, 60917, 60925, 60934, 60943, 60951, - 60960, 60968, 60977, 60986, 60994, 61003, 61011, 61020, - 61029, 61037, 61046, 61054, 61063, 61071, 61080, 61089, - 61097, 61106, 61114, 61123, 61132, 61140, 61149, 61157, - 61166, 61174, 61183, 61192, 61200, 61209, 61217, 61226, - 61234, 61243, 61251, 61260, 61269, 61277, 61286, 61294, - 61303, 61311, 61320, 61328, 61337, 61346, 61354, 61363, - 61371, 61380, 61388, 61397, 61405, 61414, 61422, 61431, - 61440, 61448, 61457, 61465, 61474, 61482, 61491, 61499, - 61508, 61516, 61525, 61533, 61542, 61550, 61559, 61567, - 61576, 61584, 61593, 61601, 61610, 61618, 61627, 61635, - 61644, 61652, 61661, 61669, 61678, 61686, 61695, 61703, - 61712, 61720, 61729, 61737, 61746, 61754, 61763, 61771, - 61780, 61788, 61797, 61805, 61814, 61822, 61831, 61839, - 61848, 61856, 61865, 61873, 61882, 61890, 61899, 61907, - 61916, 61924, 61932, 61941, 61949, 61958, 61966, 61975, - 61983, 61992, 62000, 62009, 62017, 62026, 62034, 62042, - 62051, 62059, 62068, 62076, 62085, 62093, 62102, 62110, - 62118, 62127, 62135, 62144, 62152, 62161, 62169, 62177, - 62186, 62194, 62203, 62211, 62220, 62228, 62236, 62245, - 62253, 62262, 62270, 62279, 62287, 62295, 62304, 62312, - 62321, 62329, 62337, 62346, 62354, 62363, 62371, 62380, - 62388, 62396, 62405, 62413, 62422, 62430, 62438, 62447, - 62455, 62464, 62472, 62480, 62489, 62497, 62505, 62514, - 62522, 62531, 62539, 62547, 62556, 62564, 62573, 62581, - 62589, 62598, 62606, 62614, 62623, 62631, 62640, 62648, - 62656, 62665, 62673, 62681, 62690, 62698, 62706, 62715, - 62723, 62732, 62740, 62748, 62757, 62765, 62773, 62782, - 62790, 62798, 62807, 62815, 62823, 62832, 62840, 62848, - 62857, 62865, 62873, 62882, 62890, 62898, 62907, 62915, - 62923, 62932, 62940, 62948, 62957, 62965, 62973, 62982, - 62990, 62998, 63007, 63015, 63023, 63032, 63040, 63048, - 63057, 63065, 63073, 63082, 63090, 63098, 63106, 63115, - 63123, 63131, 63140, 63148, 63156, 63165, 63173, 63181, - 63190, 63198, 63206, 63214, 63223, 63231, 63239, 63248, - 63256, 63264, 63272, 63281, 63289, 63297, 63306, 63314, - 63322, 63330, 63339, 63347, 63355, 63364, 63372, 63380, - 63388, 63397, 63405, 63413, 63421, 63430, 63438, 63446, - 63454, 63463, 63471, 63479, 63488, 63496, 63504, 63512, - 63521, 63529, 63537, 63545, 63554, 63562, 63570, 63578, - 63587, 63595, 63603, 63611, 63619, 63628, 63636, 63644, - 63652, 63661, 63669, 63677, 63685, 63694, 63702, 63710, - 63718, 63727, 63735, 63743, 63751, 63759, 63768, 63776, - 63784, 63792, 63801, 63809, 63817, 63825, 63833, 63842, - 63850, 63858, 63866, 63874, 63883, 63891, 63899, 63907, - 63915, 63924, 63932, 63940, 63948, 63956, 63965, 63973, - 63981, 63989, 63997, 64006, 64014, 64022, 64030, 64038, - 64047, 64055, 64063, 64071, 64079, 64088, 64096, 64104, - 64112, 64120, 64128, 64137, 64145, 64153, 64161, 64169, - 64177, 64186, 64194, 64202, 64210, 64218, 64226, 64235, - 64243, 64251, 64259, 64267, 64275, 64284, 64292, 64300, - 64308, 64316, 64324, 64332, 64341, 64349, 64357, 64365, - 64373, 64381, 64389, 64398, 64406, 64414, 64422, 64430, - 64438, 64446, 64455, 64463, 64471, 64479, 64487, 64495, - 64503, 64512, 64520, 64528, 64536, 64544, 64552, 64560, - 64568, 64576, 64585, 64593, 64601, 64609, 64617, 64625, - 64633, 64641, 64650, 64658, 64666, 64674, 64682, 64690, - 64698, 64706, 64714, 64722, 64731, 64739, 64747, 64755, - 64763, 64771, 64779, 64787, 64795, 64803, 64812, 64820, - 64828, 64836, 64844, 64852, 64860, 64868, 64876, 64884, - 64892, 64900, 64909, 64917, 64925, 64933, 64941, 64949, - 64957, 64965, 64973, 64981, 64989, 64997, 65005, 65013, - 65021, 65030, 65038, 65046, 65054, 65062, 65070, 65078, - 65086, 65094, 65102, 65110, 65118, 65126, 65134, 65142, - 65150, 65158, 65166, 65175, 65183, 65191, 65199, 65207, - 65215, 65223, 65231, 65239, 65247, 65255, 65263, 65271, - 65279, 65287, 65295, 65303, 65311, 65319, 65327, 65335, - 65343, 65351, 65359, 65367, 65375, 65383, 65391, 65399, - 65407, 65415, 65423, 65431, 65439, 65447, 65455, 65463, - 65471, 65479, 65487, 65495, 65503, 65511, 65519, 65527 -}; - static const signed short wavtable1[2304]={ 541, 956, 768, -1011, -811, -717, -571, -893, -576, 877, 581, 568, -997, -975, -646, -752, -661, -632,