00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <stdint.h>
00023
00024
00025
00026 const uint32_t ff_inverse[257]={
00027 0, 4294967295U,2147483648U,1431655766, 1073741824, 858993460, 715827883, 613566757,
00028 536870912, 477218589, 429496730, 390451573, 357913942, 330382100, 306783379, 286331154,
00029 268435456, 252645136, 238609295, 226050911, 214748365, 204522253, 195225787, 186737709,
00030 178956971, 171798692, 165191050, 159072863, 153391690, 148102321, 143165577, 138547333,
00031 134217728, 130150525, 126322568, 122713352, 119304648, 116080198, 113025456, 110127367,
00032 107374183, 104755300, 102261127, 99882961, 97612894, 95443718, 93368855, 91382283,
00033 89478486, 87652394, 85899346, 84215046, 82595525, 81037119, 79536432, 78090315,
00034 76695845, 75350304, 74051161, 72796056, 71582789, 70409300, 69273667, 68174085,
00035 67108864, 66076420, 65075263, 64103990, 63161284, 62245903, 61356676, 60492498,
00036 59652324, 58835169, 58040099, 57266231, 56512728, 55778797, 55063684, 54366675,
00037 53687092, 53024288, 52377650, 51746594, 51130564, 50529028, 49941481, 49367441,
00038 48806447, 48258060, 47721859, 47197443, 46684428, 46182445, 45691142, 45210183,
00039 44739243, 44278014, 43826197, 43383509, 42949673, 42524429, 42107523, 41698712,
00040 41297763, 40904451, 40518560, 40139882, 39768216, 39403370, 39045158, 38693400,
00041 38347923, 38008561, 37675152, 37347542, 37025581, 36709123, 36398028, 36092163,
00042 35791395, 35495598, 35204650, 34918434, 34636834, 34359739, 34087043, 33818641,
00043 33554432, 33294321, 33038210, 32786010, 32537632, 32292988, 32051995, 31814573,
00044 31580642, 31350127, 31122952, 30899046, 30678338, 30460761, 30246249, 30034737,
00045 29826162, 29620465, 29417585, 29217465, 29020050, 28825284, 28633116, 28443493,
00046 28256364, 28071682, 27889399, 27709467, 27531842, 27356480, 27183338, 27012373,
00047 26843546, 26676816, 26512144, 26349493, 26188825, 26030105, 25873297, 25718368,
00048 25565282, 25414008, 25264514, 25116768, 24970741, 24826401, 24683721, 24542671,
00049 24403224, 24265352, 24129030, 23994231, 23860930, 23729102, 23598722, 23469767,
00050 23342214, 23216040, 23091223, 22967740, 22845571, 22724695, 22605092, 22486740,
00051 22369622, 22253717, 22139007, 22025474, 21913099, 21801865, 21691755, 21582751,
00052 21474837, 21367997, 21262215, 21157475, 21053762, 20951060, 20849356, 20748635,
00053 20648882, 20550083, 20452226, 20355296, 20259280, 20164166, 20069941, 19976593,
00054 19884108, 19792477, 19701685, 19611723, 19522579, 19434242, 19346700, 19259944,
00055 19173962, 19088744, 19004281, 18920561, 18837576, 18755316, 18673771, 18592933,
00056 18512791, 18433337, 18354562, 18276457, 18199014, 18122225, 18046082, 17970575,
00057 17895698, 17821442, 17747799, 17674763, 17602325, 17530479, 17459217, 17388532,
00058 17318417, 17248865, 17179870, 17111424, 17043522, 16976156, 16909321, 16843010,
00059 16777216
00060 };