crctable.c revision 256281
1153317Ssam
2186904Ssam/*-------------------------------------------------------------*/
3153317Ssam/*--- Table for doing CRCs                                  ---*/
4153317Ssam/*---                                            crctable.c ---*/
5153317Ssam/*-------------------------------------------------------------*/
6153317Ssam
7153317Ssam/* ------------------------------------------------------------------
8153317Ssam   This file is part of bzip2/libbzip2, a program and library for
9153317Ssam   lossless, block-sorting data compression.
10153317Ssam
11153317Ssam   bzip2/libbzip2 version 1.0.6 of 6 September 2010
12153317Ssam   Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
13153317Ssam
14153317Ssam   Please read the WARNING, DISCLAIMER and PATENTS sections in the
15153317Ssam   README file.
16153317Ssam
17153317Ssam   This program is released under the terms of the license contained
18153317Ssam   in the file LICENSE.
19153317Ssam   ------------------------------------------------------------------ */
20153317Ssam
21153317Ssam
22153317Ssam#include "bzlib_private.h"
23153317Ssam
24153317Ssam/*--
25153317Ssam  I think this is an implementation of the AUTODIN-II,
26153317Ssam  Ethernet & FDDI 32-bit CRC standard.  Vaguely derived
27153317Ssam  from code by Rob Warnock, in Section 51 of the
28153317Ssam  comp.compression FAQ.
29153317Ssam--*/
30153317Ssam
31153317SsamUInt32 BZ2_crc32Table[256] = {
32153317Ssam
33153317Ssam   /*-- Ugly, innit? --*/
34153317Ssam
35153317Ssam   0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
36153317Ssam   0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
37179398Ssam   0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
38153317Ssam   0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
39153317Ssam   0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
40170534Ssam   0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
41153317Ssam   0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
42153317Ssam   0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
43153317Ssam   0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
44170534Ssam   0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
45153317Ssam   0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
46153317Ssam   0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
47153317Ssam   0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
48153317Ssam   0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
49153317Ssam   0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
50170534Ssam   0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
51153317Ssam   0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
52153317Ssam   0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
53153317Ssam   0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
54153317Ssam   0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
55153317Ssam   0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
56153317Ssam   0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
57153317Ssam   0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
58153317Ssam   0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
59153317Ssam   0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
60153317Ssam   0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
61153317Ssam   0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
62153317Ssam   0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
63153317Ssam   0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
64195746Ssam   0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
65153317Ssam   0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
66153317Ssam   0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
67153317Ssam   0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
68195746Ssam   0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
69153317Ssam   0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
70153317Ssam   0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
71153317Ssam   0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
72153317Ssam   0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
73153317Ssam   0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
74153317Ssam   0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
75153317Ssam   0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
76164635Ssam   0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
77178359Ssam   0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
78178359Ssam   0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
79178359Ssam   0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
80186904Ssam   0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
81153317Ssam   0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
82153317Ssam   0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
83153317Ssam   0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
84153317Ssam   0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
85153317Ssam   0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
86170534Ssam   0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
87153317Ssam   0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
88153317Ssam   0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
89153317Ssam   0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
90153317Ssam   0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
91153317Ssam   0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
92153317Ssam   0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
93153317Ssam   0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
94153317Ssam   0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
95153317Ssam   0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
96153317Ssam   0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
97153317Ssam   0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
98153317Ssam   0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
99153317Ssam};
100195746Ssam
101153317Ssam
102153317Ssam/*-------------------------------------------------------------*/
103153317Ssam/*--- end                                        crctable.c ---*/
104195746Ssam/*-------------------------------------------------------------*/
105153317Ssam