LLVM API Documentation
00001 00002 /*-------------------------------------------------------------*/ 00003 /*--- Table for doing CRCs ---*/ 00004 /*--- crctable.c ---*/ 00005 /*-------------------------------------------------------------*/ 00006 00007 /*-- 00008 This file is a part of bzip2 and/or libbzip2, a program and 00009 library for lossless, block-sorting data compression. 00010 00011 Copyright (C) 1996-2002 Julian R Seward. All rights reserved. 00012 00013 Redistribution and use in source and binary forms, with or without 00014 modification, are permitted provided that the following conditions 00015 are met: 00016 00017 1. Redistributions of source code must retain the above copyright 00018 notice, this list of conditions and the following disclaimer. 00019 00020 2. The origin of this software must not be misrepresented; you must 00021 not claim that you wrote the original software. If you use this 00022 software in a product, an acknowledgment in the product 00023 documentation would be appreciated but is not required. 00024 00025 3. Altered source versions must be plainly marked as such, and must 00026 not be misrepresented as being the original software. 00027 00028 4. The name of the author may not be used to endorse or promote 00029 products derived from this software without specific prior written 00030 permission. 00031 00032 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 00033 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00034 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00035 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 00036 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00037 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 00038 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00039 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00040 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00041 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00042 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00043 00044 Julian Seward, Cambridge, UK. 00045 jseward@acm.org 00046 bzip2/libbzip2 version 1.0 of 21 March 2000 00047 00048 This program is based on (at least) the work of: 00049 Mike Burrows 00050 David Wheeler 00051 Peter Fenwick 00052 Alistair Moffat 00053 Radford Neal 00054 Ian H. Witten 00055 Robert Sedgewick 00056 Jon L. Bentley 00057 00058 For more information on these sources, see the manual. 00059 --*/ 00060 00061 00062 #include "bzlib_private.h" 00063 00064 /*-- 00065 I think this is an implementation of the AUTODIN-II, 00066 Ethernet & FDDI 32-bit CRC standard. Vaguely derived 00067 from code by Rob Warnock, in Section 51 of the 00068 comp.compression FAQ. 00069 --*/ 00070 00071 UInt32 BZ2_crc32Table[256] = { 00072 00073 /*-- Ugly, innit? --*/ 00074 00075 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L, 00076 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L, 00077 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L, 00078 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL, 00079 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L, 00080 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L, 00081 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L, 00082 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL, 00083 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L, 00084 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L, 00085 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L, 00086 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL, 00087 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L, 00088 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L, 00089 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L, 00090 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL, 00091 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL, 00092 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L, 00093 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L, 00094 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL, 00095 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL, 00096 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L, 00097 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L, 00098 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL, 00099 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL, 00100 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L, 00101 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L, 00102 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL, 00103 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL, 00104 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L, 00105 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L, 00106 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL, 00107 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L, 00108 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL, 00109 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL, 00110 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L, 00111 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L, 00112 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL, 00113 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL, 00114 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L, 00115 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L, 00116 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL, 00117 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL, 00118 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L, 00119 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L, 00120 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL, 00121 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL, 00122 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L, 00123 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L, 00124 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL, 00125 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L, 00126 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L, 00127 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L, 00128 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL, 00129 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L, 00130 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L, 00131 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L, 00132 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL, 00133 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L, 00134 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L, 00135 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L, 00136 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL, 00137 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L, 00138 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L 00139 }; 00140 00141 00142 /*-------------------------------------------------------------*/ 00143 /*--- end crctable.c ---*/ 00144 /*-------------------------------------------------------------*/