]> granicus.if.org Git - postgresql/blob - src/backend/utils/hash/pg_crc.c
Remove 576 references of include files that were not needed.
[postgresql] / src / backend / utils / hash / pg_crc.c
1 /*-------------------------------------------------------------------------
2  *
3  * pg_crc.c
4  *        PostgreSQL CRC support
5  *
6  * See Ross Williams' excellent introduction
7  * A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS, available from
8  * ftp://ftp.rocksoft.com/papers/crc_v3.txt or several other net sites.
9  *
10  * We use a normal (not "reflected", in Williams' terms) CRC, using initial
11  * all-ones register contents and a final bit inversion.
12  *
13  * The 64-bit variant is not used as of PostgreSQL 8.1, but we retain the
14  * code for possible future use.
15  *
16  *
17  * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
18  * Portions Copyright (c) 1994, Regents of the University of California
19  *
20  *
21  * IDENTIFICATION
22  *        $PostgreSQL: pgsql/src/backend/utils/hash/pg_crc.c,v 1.16 2006/07/14 14:52:25 momjian Exp $
23  *
24  *-------------------------------------------------------------------------
25  */
26 #include "postgres.h"
27
28
29
30 /*
31  * This table is based on the polynomial
32  *      x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
33  * (This is the same polynomial used in Ethernet checksums, for instance.)
34  */
35 const uint32 pg_crc32_table[256] = {
36         0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
37         0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
38         0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
39         0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
40         0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
41         0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
42         0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
43         0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
44         0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
45         0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
46         0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
47         0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
48         0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
49         0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
50         0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
51         0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
52         0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
53         0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
54         0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
55         0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
56         0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
57         0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
58         0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
59         0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
60         0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
61         0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
62         0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
63         0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
64         0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
65         0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
66         0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
67         0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
68         0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
69         0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
70         0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
71         0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
72         0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
73         0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
74         0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
75         0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
76         0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
77         0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
78         0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
79         0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
80         0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
81         0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
82         0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
83         0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
84         0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
85         0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
86         0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
87         0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
88         0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
89         0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
90         0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
91         0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
92         0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
93         0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
94         0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
95         0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
96         0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
97         0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
98         0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
99         0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D
100 };
101
102
103 #ifdef PROVIDE_64BIT_CRC
104
105 /*
106  * This table is based on the polynomial
107  *
108  * x^64 + x^62 + x^57 + x^55 + x^54 + x^53 + x^52 + x^47 + x^46 + x^45 +
109  * x^40 + x^39 + x^38 + x^37 + x^35 + x^33 + x^32 + x^31 + x^29 + x^27 +
110  * x^24 + x^23 + x^22 + x^21 + x^19 + x^17 + x^13 + x^12 + x^10 + x^9 +
111  * x^7 + x^4 + x + 1
112  *
113  * which is borrowed from the DLT1 spec
114  * (ECMA-182, available from http://www.ecma.ch/ecma1/STAND/ECMA-182.HTM)
115  */
116
117 #ifdef INT64_IS_BUSTED
118
119 const uint32 pg_crc64_table0[256] = {
120         0x00000000, 0xA9EA3693,
121         0x53D46D26, 0xFA3E5BB5,
122         0x0E42ECDF, 0xA7A8DA4C,
123         0x5D9681F9, 0xF47CB76A,
124         0x1C85D9BE, 0xB56FEF2D,
125         0x4F51B498, 0xE6BB820B,
126         0x12C73561, 0xBB2D03F2,
127         0x41135847, 0xE8F96ED4,
128         0x90E185EF, 0x390BB37C,
129         0xC335E8C9, 0x6ADFDE5A,
130         0x9EA36930, 0x37495FA3,
131         0xCD770416, 0x649D3285,
132         0x8C645C51, 0x258E6AC2,
133         0xDFB03177, 0x765A07E4,
134         0x8226B08E, 0x2BCC861D,
135         0xD1F2DDA8, 0x7818EB3B,
136         0x21C30BDE, 0x88293D4D,
137         0x721766F8, 0xDBFD506B,
138         0x2F81E701, 0x866BD192,
139         0x7C558A27, 0xD5BFBCB4,
140         0x3D46D260, 0x94ACE4F3,
141         0x6E92BF46, 0xC77889D5,
142         0x33043EBF, 0x9AEE082C,
143         0x60D05399, 0xC93A650A,
144         0xB1228E31, 0x18C8B8A2,
145         0xE2F6E317, 0x4B1CD584,
146         0xBF6062EE, 0x168A547D,
147         0xECB40FC8, 0x455E395B,
148         0xADA7578F, 0x044D611C,
149         0xFE733AA9, 0x57990C3A,
150         0xA3E5BB50, 0x0A0F8DC3,
151         0xF031D676, 0x59DBE0E5,
152         0xEA6C212F, 0x438617BC,
153         0xB9B84C09, 0x10527A9A,
154         0xE42ECDF0, 0x4DC4FB63,
155         0xB7FAA0D6, 0x1E109645,
156         0xF6E9F891, 0x5F03CE02,
157         0xA53D95B7, 0x0CD7A324,
158         0xF8AB144E, 0x514122DD,
159         0xAB7F7968, 0x02954FFB,
160         0x7A8DA4C0, 0xD3679253,
161         0x2959C9E6, 0x80B3FF75,
162         0x74CF481F, 0xDD257E8C,
163         0x271B2539, 0x8EF113AA,
164         0x66087D7E, 0xCFE24BED,
165         0x35DC1058, 0x9C3626CB,
166         0x684A91A1, 0xC1A0A732,
167         0x3B9EFC87, 0x9274CA14,
168         0xCBAF2AF1, 0x62451C62,
169         0x987B47D7, 0x31917144,
170         0xC5EDC62E, 0x6C07F0BD,
171         0x9639AB08, 0x3FD39D9B,
172         0xD72AF34F, 0x7EC0C5DC,
173         0x84FE9E69, 0x2D14A8FA,
174         0xD9681F90, 0x70822903,
175         0x8ABC72B6, 0x23564425,
176         0x5B4EAF1E, 0xF2A4998D,
177         0x089AC238, 0xA170F4AB,
178         0x550C43C1, 0xFCE67552,
179         0x06D82EE7, 0xAF321874,
180         0x47CB76A0, 0xEE214033,
181         0x141F1B86, 0xBDF52D15,
182         0x49899A7F, 0xE063ACEC,
183         0x1A5DF759, 0xB3B7C1CA,
184         0x7D3274CD, 0xD4D8425E,
185         0x2EE619EB, 0x870C2F78,
186         0x73709812, 0xDA9AAE81,
187         0x20A4F534, 0x894EC3A7,
188         0x61B7AD73, 0xC85D9BE0,
189         0x3263C055, 0x9B89F6C6,
190         0x6FF541AC, 0xC61F773F,
191         0x3C212C8A, 0x95CB1A19,
192         0xEDD3F122, 0x4439C7B1,
193         0xBE079C04, 0x17EDAA97,
194         0xE3911DFD, 0x4A7B2B6E,
195         0xB04570DB, 0x19AF4648,
196         0xF156289C, 0x58BC1E0F,
197         0xA28245BA, 0x0B687329,
198         0xFF14C443, 0x56FEF2D0,
199         0xACC0A965, 0x052A9FF6,
200         0x5CF17F13, 0xF51B4980,
201         0x0F251235, 0xA6CF24A6,
202         0x52B393CC, 0xFB59A55F,
203         0x0167FEEA, 0xA88DC879,
204         0x4074A6AD, 0xE99E903E,
205         0x13A0CB8B, 0xBA4AFD18,
206         0x4E364A72, 0xE7DC7CE1,
207         0x1DE22754, 0xB40811C7,
208         0xCC10FAFC, 0x65FACC6F,
209         0x9FC497DA, 0x362EA149,
210         0xC2521623, 0x6BB820B0,
211         0x91867B05, 0x386C4D96,
212         0xD0952342, 0x797F15D1,
213         0x83414E64, 0x2AAB78F7,
214         0xDED7CF9D, 0x773DF90E,
215         0x8D03A2BB, 0x24E99428,
216         0x975E55E2, 0x3EB46371,
217         0xC48A38C4, 0x6D600E57,
218         0x991CB93D, 0x30F68FAE,
219         0xCAC8D41B, 0x6322E288,
220         0x8BDB8C5C, 0x2231BACF,
221         0xD80FE17A, 0x71E5D7E9,
222         0x85996083, 0x2C735610,
223         0xD64D0DA5, 0x7FA73B36,
224         0x07BFD00D, 0xAE55E69E,
225         0x546BBD2B, 0xFD818BB8,
226         0x09FD3CD2, 0xA0170A41,
227         0x5A2951F4, 0xF3C36767,
228         0x1B3A09B3, 0xB2D03F20,
229         0x48EE6495, 0xE1045206,
230         0x1578E56C, 0xBC92D3FF,
231         0x46AC884A, 0xEF46BED9,
232         0xB69D5E3C, 0x1F7768AF,
233         0xE549331A, 0x4CA30589,
234         0xB8DFB2E3, 0x11358470,
235         0xEB0BDFC5, 0x42E1E956,
236         0xAA188782, 0x03F2B111,
237         0xF9CCEAA4, 0x5026DC37,
238         0xA45A6B5D, 0x0DB05DCE,
239         0xF78E067B, 0x5E6430E8,
240         0x267CDBD3, 0x8F96ED40,
241         0x75A8B6F5, 0xDC428066,
242         0x283E370C, 0x81D4019F,
243         0x7BEA5A2A, 0xD2006CB9,
244         0x3AF9026D, 0x931334FE,
245         0x692D6F4B, 0xC0C759D8,
246         0x34BBEEB2, 0x9D51D821,
247         0x676F8394, 0xCE85B507
248 };
249
250 const uint32 pg_crc64_table1[256] = {
251         0x00000000, 0x42F0E1EB,
252         0x85E1C3D7, 0xC711223C,
253         0x49336645, 0x0BC387AE,
254         0xCCD2A592, 0x8E224479,
255         0x9266CC8A, 0xD0962D61,
256         0x17870F5D, 0x5577EEB6,
257         0xDB55AACF, 0x99A54B24,
258         0x5EB46918, 0x1C4488F3,
259         0x663D78FF, 0x24CD9914,
260         0xE3DCBB28, 0xA12C5AC3,
261         0x2F0E1EBA, 0x6DFEFF51,
262         0xAAEFDD6D, 0xE81F3C86,
263         0xF45BB475, 0xB6AB559E,
264         0x71BA77A2, 0x334A9649,
265         0xBD68D230, 0xFF9833DB,
266         0x388911E7, 0x7A79F00C,
267         0xCC7AF1FF, 0x8E8A1014,
268         0x499B3228, 0x0B6BD3C3,
269         0x854997BA, 0xC7B97651,
270         0x00A8546D, 0x4258B586,
271         0x5E1C3D75, 0x1CECDC9E,
272         0xDBFDFEA2, 0x990D1F49,
273         0x172F5B30, 0x55DFBADB,
274         0x92CE98E7, 0xD03E790C,
275         0xAA478900, 0xE8B768EB,
276         0x2FA64AD7, 0x6D56AB3C,
277         0xE374EF45, 0xA1840EAE,
278         0x66952C92, 0x2465CD79,
279         0x3821458A, 0x7AD1A461,
280         0xBDC0865D, 0xFF3067B6,
281         0x711223CF, 0x33E2C224,
282         0xF4F3E018, 0xB60301F3,
283         0xDA050215, 0x98F5E3FE,
284         0x5FE4C1C2, 0x1D142029,
285         0x93366450, 0xD1C685BB,
286         0x16D7A787, 0x5427466C,
287         0x4863CE9F, 0x0A932F74,
288         0xCD820D48, 0x8F72ECA3,
289         0x0150A8DA, 0x43A04931,
290         0x84B16B0D, 0xC6418AE6,
291         0xBC387AEA, 0xFEC89B01,
292         0x39D9B93D, 0x7B2958D6,
293         0xF50B1CAF, 0xB7FBFD44,
294         0x70EADF78, 0x321A3E93,
295         0x2E5EB660, 0x6CAE578B,
296         0xABBF75B7, 0xE94F945C,
297         0x676DD025, 0x259D31CE,
298         0xE28C13F2, 0xA07CF219,
299         0x167FF3EA, 0x548F1201,
300         0x939E303D, 0xD16ED1D6,
301         0x5F4C95AF, 0x1DBC7444,
302         0xDAAD5678, 0x985DB793,
303         0x84193F60, 0xC6E9DE8B,
304         0x01F8FCB7, 0x43081D5C,
305         0xCD2A5925, 0x8FDAB8CE,
306         0x48CB9AF2, 0x0A3B7B19,
307         0x70428B15, 0x32B26AFE,
308         0xF5A348C2, 0xB753A929,
309         0x3971ED50, 0x7B810CBB,
310         0xBC902E87, 0xFE60CF6C,
311         0xE224479F, 0xA0D4A674,
312         0x67C58448, 0x253565A3,
313         0xAB1721DA, 0xE9E7C031,
314         0x2EF6E20D, 0x6C0603E6,
315         0xF6FAE5C0, 0xB40A042B,
316         0x731B2617, 0x31EBC7FC,
317         0xBFC98385, 0xFD39626E,
318         0x3A284052, 0x78D8A1B9,
319         0x649C294A, 0x266CC8A1,
320         0xE17DEA9D, 0xA38D0B76,
321         0x2DAF4F0F, 0x6F5FAEE4,
322         0xA84E8CD8, 0xEABE6D33,
323         0x90C79D3F, 0xD2377CD4,
324         0x15265EE8, 0x57D6BF03,
325         0xD9F4FB7A, 0x9B041A91,
326         0x5C1538AD, 0x1EE5D946,
327         0x02A151B5, 0x4051B05E,
328         0x87409262, 0xC5B07389,
329         0x4B9237F0, 0x0962D61B,
330         0xCE73F427, 0x8C8315CC,
331         0x3A80143F, 0x7870F5D4,
332         0xBF61D7E8, 0xFD913603,
333         0x73B3727A, 0x31439391,
334         0xF652B1AD, 0xB4A25046,
335         0xA8E6D8B5, 0xEA16395E,
336         0x2D071B62, 0x6FF7FA89,
337         0xE1D5BEF0, 0xA3255F1B,
338         0x64347D27, 0x26C49CCC,
339         0x5CBD6CC0, 0x1E4D8D2B,
340         0xD95CAF17, 0x9BAC4EFC,
341         0x158E0A85, 0x577EEB6E,
342         0x906FC952, 0xD29F28B9,
343         0xCEDBA04A, 0x8C2B41A1,
344         0x4B3A639D, 0x09CA8276,
345         0x87E8C60F, 0xC51827E4,
346         0x020905D8, 0x40F9E433,
347         0x2CFFE7D5, 0x6E0F063E,
348         0xA91E2402, 0xEBEEC5E9,
349         0x65CC8190, 0x273C607B,
350         0xE02D4247, 0xA2DDA3AC,
351         0xBE992B5F, 0xFC69CAB4,
352         0x3B78E888, 0x79880963,
353         0xF7AA4D1A, 0xB55AACF1,
354         0x724B8ECD, 0x30BB6F26,
355         0x4AC29F2A, 0x08327EC1,
356         0xCF235CFD, 0x8DD3BD16,
357         0x03F1F96F, 0x41011884,
358         0x86103AB8, 0xC4E0DB53,
359         0xD8A453A0, 0x9A54B24B,
360         0x5D459077, 0x1FB5719C,
361         0x919735E5, 0xD367D40E,
362         0x1476F632, 0x568617D9,
363         0xE085162A, 0xA275F7C1,
364         0x6564D5FD, 0x27943416,
365         0xA9B6706F, 0xEB469184,
366         0x2C57B3B8, 0x6EA75253,
367         0x72E3DAA0, 0x30133B4B,
368         0xF7021977, 0xB5F2F89C,
369         0x3BD0BCE5, 0x79205D0E,
370         0xBE317F32, 0xFCC19ED9,
371         0x86B86ED5, 0xC4488F3E,
372         0x0359AD02, 0x41A94CE9,
373         0xCF8B0890, 0x8D7BE97B,
374         0x4A6ACB47, 0x089A2AAC,
375         0x14DEA25F, 0x562E43B4,
376         0x913F6188, 0xD3CF8063,
377         0x5DEDC41A, 0x1F1D25F1,
378         0xD80C07CD, 0x9AFCE626
379 };
380 #else                                                   /* int64 works */
381
382 const uint64 pg_crc64_table[256] = {
383         UINT64CONST(0x0000000000000000), UINT64CONST(0x42F0E1EBA9EA3693),
384         UINT64CONST(0x85E1C3D753D46D26), UINT64CONST(0xC711223CFA3E5BB5),
385         UINT64CONST(0x493366450E42ECDF), UINT64CONST(0x0BC387AEA7A8DA4C),
386         UINT64CONST(0xCCD2A5925D9681F9), UINT64CONST(0x8E224479F47CB76A),
387         UINT64CONST(0x9266CC8A1C85D9BE), UINT64CONST(0xD0962D61B56FEF2D),
388         UINT64CONST(0x17870F5D4F51B498), UINT64CONST(0x5577EEB6E6BB820B),
389         UINT64CONST(0xDB55AACF12C73561), UINT64CONST(0x99A54B24BB2D03F2),
390         UINT64CONST(0x5EB4691841135847), UINT64CONST(0x1C4488F3E8F96ED4),
391         UINT64CONST(0x663D78FF90E185EF), UINT64CONST(0x24CD9914390BB37C),
392         UINT64CONST(0xE3DCBB28C335E8C9), UINT64CONST(0xA12C5AC36ADFDE5A),
393         UINT64CONST(0x2F0E1EBA9EA36930), UINT64CONST(0x6DFEFF5137495FA3),
394         UINT64CONST(0xAAEFDD6DCD770416), UINT64CONST(0xE81F3C86649D3285),
395         UINT64CONST(0xF45BB4758C645C51), UINT64CONST(0xB6AB559E258E6AC2),
396         UINT64CONST(0x71BA77A2DFB03177), UINT64CONST(0x334A9649765A07E4),
397         UINT64CONST(0xBD68D2308226B08E), UINT64CONST(0xFF9833DB2BCC861D),
398         UINT64CONST(0x388911E7D1F2DDA8), UINT64CONST(0x7A79F00C7818EB3B),
399         UINT64CONST(0xCC7AF1FF21C30BDE), UINT64CONST(0x8E8A101488293D4D),
400         UINT64CONST(0x499B3228721766F8), UINT64CONST(0x0B6BD3C3DBFD506B),
401         UINT64CONST(0x854997BA2F81E701), UINT64CONST(0xC7B97651866BD192),
402         UINT64CONST(0x00A8546D7C558A27), UINT64CONST(0x4258B586D5BFBCB4),
403         UINT64CONST(0x5E1C3D753D46D260), UINT64CONST(0x1CECDC9E94ACE4F3),
404         UINT64CONST(0xDBFDFEA26E92BF46), UINT64CONST(0x990D1F49C77889D5),
405         UINT64CONST(0x172F5B3033043EBF), UINT64CONST(0x55DFBADB9AEE082C),
406         UINT64CONST(0x92CE98E760D05399), UINT64CONST(0xD03E790CC93A650A),
407         UINT64CONST(0xAA478900B1228E31), UINT64CONST(0xE8B768EB18C8B8A2),
408         UINT64CONST(0x2FA64AD7E2F6E317), UINT64CONST(0x6D56AB3C4B1CD584),
409         UINT64CONST(0xE374EF45BF6062EE), UINT64CONST(0xA1840EAE168A547D),
410         UINT64CONST(0x66952C92ECB40FC8), UINT64CONST(0x2465CD79455E395B),
411         UINT64CONST(0x3821458AADA7578F), UINT64CONST(0x7AD1A461044D611C),
412         UINT64CONST(0xBDC0865DFE733AA9), UINT64CONST(0xFF3067B657990C3A),
413         UINT64CONST(0x711223CFA3E5BB50), UINT64CONST(0x33E2C2240A0F8DC3),
414         UINT64CONST(0xF4F3E018F031D676), UINT64CONST(0xB60301F359DBE0E5),
415         UINT64CONST(0xDA050215EA6C212F), UINT64CONST(0x98F5E3FE438617BC),
416         UINT64CONST(0x5FE4C1C2B9B84C09), UINT64CONST(0x1D14202910527A9A),
417         UINT64CONST(0x93366450E42ECDF0), UINT64CONST(0xD1C685BB4DC4FB63),
418         UINT64CONST(0x16D7A787B7FAA0D6), UINT64CONST(0x5427466C1E109645),
419         UINT64CONST(0x4863CE9FF6E9F891), UINT64CONST(0x0A932F745F03CE02),
420         UINT64CONST(0xCD820D48A53D95B7), UINT64CONST(0x8F72ECA30CD7A324),
421         UINT64CONST(0x0150A8DAF8AB144E), UINT64CONST(0x43A04931514122DD),
422         UINT64CONST(0x84B16B0DAB7F7968), UINT64CONST(0xC6418AE602954FFB),
423         UINT64CONST(0xBC387AEA7A8DA4C0), UINT64CONST(0xFEC89B01D3679253),
424         UINT64CONST(0x39D9B93D2959C9E6), UINT64CONST(0x7B2958D680B3FF75),
425         UINT64CONST(0xF50B1CAF74CF481F), UINT64CONST(0xB7FBFD44DD257E8C),
426         UINT64CONST(0x70EADF78271B2539), UINT64CONST(0x321A3E938EF113AA),
427         UINT64CONST(0x2E5EB66066087D7E), UINT64CONST(0x6CAE578BCFE24BED),
428         UINT64CONST(0xABBF75B735DC1058), UINT64CONST(0xE94F945C9C3626CB),
429         UINT64CONST(0x676DD025684A91A1), UINT64CONST(0x259D31CEC1A0A732),
430         UINT64CONST(0xE28C13F23B9EFC87), UINT64CONST(0xA07CF2199274CA14),
431         UINT64CONST(0x167FF3EACBAF2AF1), UINT64CONST(0x548F120162451C62),
432         UINT64CONST(0x939E303D987B47D7), UINT64CONST(0xD16ED1D631917144),
433         UINT64CONST(0x5F4C95AFC5EDC62E), UINT64CONST(0x1DBC74446C07F0BD),
434         UINT64CONST(0xDAAD56789639AB08), UINT64CONST(0x985DB7933FD39D9B),
435         UINT64CONST(0x84193F60D72AF34F), UINT64CONST(0xC6E9DE8B7EC0C5DC),
436         UINT64CONST(0x01F8FCB784FE9E69), UINT64CONST(0x43081D5C2D14A8FA),
437         UINT64CONST(0xCD2A5925D9681F90), UINT64CONST(0x8FDAB8CE70822903),
438         UINT64CONST(0x48CB9AF28ABC72B6), UINT64CONST(0x0A3B7B1923564425),
439         UINT64CONST(0x70428B155B4EAF1E), UINT64CONST(0x32B26AFEF2A4998D),
440         UINT64CONST(0xF5A348C2089AC238), UINT64CONST(0xB753A929A170F4AB),
441         UINT64CONST(0x3971ED50550C43C1), UINT64CONST(0x7B810CBBFCE67552),
442         UINT64CONST(0xBC902E8706D82EE7), UINT64CONST(0xFE60CF6CAF321874),
443         UINT64CONST(0xE224479F47CB76A0), UINT64CONST(0xA0D4A674EE214033),
444         UINT64CONST(0x67C58448141F1B86), UINT64CONST(0x253565A3BDF52D15),
445         UINT64CONST(0xAB1721DA49899A7F), UINT64CONST(0xE9E7C031E063ACEC),
446         UINT64CONST(0x2EF6E20D1A5DF759), UINT64CONST(0x6C0603E6B3B7C1CA),
447         UINT64CONST(0xF6FAE5C07D3274CD), UINT64CONST(0xB40A042BD4D8425E),
448         UINT64CONST(0x731B26172EE619EB), UINT64CONST(0x31EBC7FC870C2F78),
449         UINT64CONST(0xBFC9838573709812), UINT64CONST(0xFD39626EDA9AAE81),
450         UINT64CONST(0x3A28405220A4F534), UINT64CONST(0x78D8A1B9894EC3A7),
451         UINT64CONST(0x649C294A61B7AD73), UINT64CONST(0x266CC8A1C85D9BE0),
452         UINT64CONST(0xE17DEA9D3263C055), UINT64CONST(0xA38D0B769B89F6C6),
453         UINT64CONST(0x2DAF4F0F6FF541AC), UINT64CONST(0x6F5FAEE4C61F773F),
454         UINT64CONST(0xA84E8CD83C212C8A), UINT64CONST(0xEABE6D3395CB1A19),
455         UINT64CONST(0x90C79D3FEDD3F122), UINT64CONST(0xD2377CD44439C7B1),
456         UINT64CONST(0x15265EE8BE079C04), UINT64CONST(0x57D6BF0317EDAA97),
457         UINT64CONST(0xD9F4FB7AE3911DFD), UINT64CONST(0x9B041A914A7B2B6E),
458         UINT64CONST(0x5C1538ADB04570DB), UINT64CONST(0x1EE5D94619AF4648),
459         UINT64CONST(0x02A151B5F156289C), UINT64CONST(0x4051B05E58BC1E0F),
460         UINT64CONST(0x87409262A28245BA), UINT64CONST(0xC5B073890B687329),
461         UINT64CONST(0x4B9237F0FF14C443), UINT64CONST(0x0962D61B56FEF2D0),
462         UINT64CONST(0xCE73F427ACC0A965), UINT64CONST(0x8C8315CC052A9FF6),
463         UINT64CONST(0x3A80143F5CF17F13), UINT64CONST(0x7870F5D4F51B4980),
464         UINT64CONST(0xBF61D7E80F251235), UINT64CONST(0xFD913603A6CF24A6),
465         UINT64CONST(0x73B3727A52B393CC), UINT64CONST(0x31439391FB59A55F),
466         UINT64CONST(0xF652B1AD0167FEEA), UINT64CONST(0xB4A25046A88DC879),
467         UINT64CONST(0xA8E6D8B54074A6AD), UINT64CONST(0xEA16395EE99E903E),
468         UINT64CONST(0x2D071B6213A0CB8B), UINT64CONST(0x6FF7FA89BA4AFD18),
469         UINT64CONST(0xE1D5BEF04E364A72), UINT64CONST(0xA3255F1BE7DC7CE1),
470         UINT64CONST(0x64347D271DE22754), UINT64CONST(0x26C49CCCB40811C7),
471         UINT64CONST(0x5CBD6CC0CC10FAFC), UINT64CONST(0x1E4D8D2B65FACC6F),
472         UINT64CONST(0xD95CAF179FC497DA), UINT64CONST(0x9BAC4EFC362EA149),
473         UINT64CONST(0x158E0A85C2521623), UINT64CONST(0x577EEB6E6BB820B0),
474         UINT64CONST(0x906FC95291867B05), UINT64CONST(0xD29F28B9386C4D96),
475         UINT64CONST(0xCEDBA04AD0952342), UINT64CONST(0x8C2B41A1797F15D1),
476         UINT64CONST(0x4B3A639D83414E64), UINT64CONST(0x09CA82762AAB78F7),
477         UINT64CONST(0x87E8C60FDED7CF9D), UINT64CONST(0xC51827E4773DF90E),
478         UINT64CONST(0x020905D88D03A2BB), UINT64CONST(0x40F9E43324E99428),
479         UINT64CONST(0x2CFFE7D5975E55E2), UINT64CONST(0x6E0F063E3EB46371),
480         UINT64CONST(0xA91E2402C48A38C4), UINT64CONST(0xEBEEC5E96D600E57),
481         UINT64CONST(0x65CC8190991CB93D), UINT64CONST(0x273C607B30F68FAE),
482         UINT64CONST(0xE02D4247CAC8D41B), UINT64CONST(0xA2DDA3AC6322E288),
483         UINT64CONST(0xBE992B5F8BDB8C5C), UINT64CONST(0xFC69CAB42231BACF),
484         UINT64CONST(0x3B78E888D80FE17A), UINT64CONST(0x7988096371E5D7E9),
485         UINT64CONST(0xF7AA4D1A85996083), UINT64CONST(0xB55AACF12C735610),
486         UINT64CONST(0x724B8ECDD64D0DA5), UINT64CONST(0x30BB6F267FA73B36),
487         UINT64CONST(0x4AC29F2A07BFD00D), UINT64CONST(0x08327EC1AE55E69E),
488         UINT64CONST(0xCF235CFD546BBD2B), UINT64CONST(0x8DD3BD16FD818BB8),
489         UINT64CONST(0x03F1F96F09FD3CD2), UINT64CONST(0x41011884A0170A41),
490         UINT64CONST(0x86103AB85A2951F4), UINT64CONST(0xC4E0DB53F3C36767),
491         UINT64CONST(0xD8A453A01B3A09B3), UINT64CONST(0x9A54B24BB2D03F20),
492         UINT64CONST(0x5D45907748EE6495), UINT64CONST(0x1FB5719CE1045206),
493         UINT64CONST(0x919735E51578E56C), UINT64CONST(0xD367D40EBC92D3FF),
494         UINT64CONST(0x1476F63246AC884A), UINT64CONST(0x568617D9EF46BED9),
495         UINT64CONST(0xE085162AB69D5E3C), UINT64CONST(0xA275F7C11F7768AF),
496         UINT64CONST(0x6564D5FDE549331A), UINT64CONST(0x279434164CA30589),
497         UINT64CONST(0xA9B6706FB8DFB2E3), UINT64CONST(0xEB46918411358470),
498         UINT64CONST(0x2C57B3B8EB0BDFC5), UINT64CONST(0x6EA7525342E1E956),
499         UINT64CONST(0x72E3DAA0AA188782), UINT64CONST(0x30133B4B03F2B111),
500         UINT64CONST(0xF7021977F9CCEAA4), UINT64CONST(0xB5F2F89C5026DC37),
501         UINT64CONST(0x3BD0BCE5A45A6B5D), UINT64CONST(0x79205D0E0DB05DCE),
502         UINT64CONST(0xBE317F32F78E067B), UINT64CONST(0xFCC19ED95E6430E8),
503         UINT64CONST(0x86B86ED5267CDBD3), UINT64CONST(0xC4488F3E8F96ED40),
504         UINT64CONST(0x0359AD0275A8B6F5), UINT64CONST(0x41A94CE9DC428066),
505         UINT64CONST(0xCF8B0890283E370C), UINT64CONST(0x8D7BE97B81D4019F),
506         UINT64CONST(0x4A6ACB477BEA5A2A), UINT64CONST(0x089A2AACD2006CB9),
507         UINT64CONST(0x14DEA25F3AF9026D), UINT64CONST(0x562E43B4931334FE),
508         UINT64CONST(0x913F6188692D6F4B), UINT64CONST(0xD3CF8063C0C759D8),
509         UINT64CONST(0x5DEDC41A34BBEEB2), UINT64CONST(0x1F1D25F19D51D821),
510         UINT64CONST(0xD80C07CD676F8394), UINT64CONST(0x9AFCE626CE85B507)
511 };
512 #endif   /* INT64_IS_BUSTED */
513
514 #endif   /* PROVIDE_64BIT_CRC */