1df9de0ebSDavid E. O'Brien 2df9de0ebSDavid E. O'Brien /*-------------------------------------------------------------*/ 3df9de0ebSDavid E. O'Brien /*--- Table for doing CRCs ---*/ 4df9de0ebSDavid E. O'Brien /*--- crctable.c ---*/ 5df9de0ebSDavid E. O'Brien /*-------------------------------------------------------------*/ 6df9de0ebSDavid E. O'Brien 71b79bae0SXin LI /* ------------------------------------------------------------------ 81b79bae0SXin LI This file is part of bzip2/libbzip2, a program and library for 91b79bae0SXin LI lossless, block-sorting data compression. 10df9de0ebSDavid E. O'Brien 11*51f61fc0SXin LI bzip2/libbzip2 version 1.0.8 of 13 July 2019 12*51f61fc0SXin LI Copyright (C) 1996-2019 Julian Seward <jseward@acm.org> 13df9de0ebSDavid E. O'Brien 141b79bae0SXin LI Please read the WARNING, DISCLAIMER and PATENTS sections in the 151b79bae0SXin LI README file. 16df9de0ebSDavid E. O'Brien 171b79bae0SXin LI This program is released under the terms of the license contained 181b79bae0SXin LI in the file LICENSE. 191b79bae0SXin LI ------------------------------------------------------------------ */ 20df9de0ebSDavid E. O'Brien 21df9de0ebSDavid E. O'Brien 22df9de0ebSDavid E. O'Brien #include "bzlib_private.h" 23df9de0ebSDavid E. O'Brien 24df9de0ebSDavid E. O'Brien /*-- 25df9de0ebSDavid E. O'Brien I think this is an implementation of the AUTODIN-II, 26df9de0ebSDavid E. O'Brien Ethernet & FDDI 32-bit CRC standard. Vaguely derived 27df9de0ebSDavid E. O'Brien from code by Rob Warnock, in Section 51 of the 28df9de0ebSDavid E. O'Brien comp.compression FAQ. 29df9de0ebSDavid E. O'Brien --*/ 30df9de0ebSDavid E. O'Brien 31df9de0ebSDavid E. O'Brien UInt32 BZ2_crc32Table[256] = { 32df9de0ebSDavid E. O'Brien 33df9de0ebSDavid E. O'Brien /*-- Ugly, innit? --*/ 34df9de0ebSDavid E. O'Brien 35df9de0ebSDavid E. O'Brien 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L, 36df9de0ebSDavid E. O'Brien 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L, 37df9de0ebSDavid E. O'Brien 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L, 38df9de0ebSDavid E. O'Brien 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL, 39df9de0ebSDavid E. O'Brien 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L, 40df9de0ebSDavid E. O'Brien 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L, 41df9de0ebSDavid E. O'Brien 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L, 42df9de0ebSDavid E. O'Brien 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL, 43df9de0ebSDavid E. O'Brien 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L, 44df9de0ebSDavid E. O'Brien 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L, 45df9de0ebSDavid E. O'Brien 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L, 46df9de0ebSDavid E. O'Brien 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL, 47df9de0ebSDavid E. O'Brien 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L, 48df9de0ebSDavid E. O'Brien 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L, 49df9de0ebSDavid E. O'Brien 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L, 50df9de0ebSDavid E. O'Brien 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL, 51df9de0ebSDavid E. O'Brien 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL, 52df9de0ebSDavid E. O'Brien 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L, 53df9de0ebSDavid E. O'Brien 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L, 54df9de0ebSDavid E. O'Brien 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL, 55df9de0ebSDavid E. O'Brien 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL, 56df9de0ebSDavid E. O'Brien 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L, 57df9de0ebSDavid E. O'Brien 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L, 58df9de0ebSDavid E. O'Brien 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL, 59df9de0ebSDavid E. O'Brien 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL, 60df9de0ebSDavid E. O'Brien 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L, 61df9de0ebSDavid E. O'Brien 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L, 62df9de0ebSDavid E. O'Brien 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL, 63df9de0ebSDavid E. O'Brien 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL, 64df9de0ebSDavid E. O'Brien 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L, 65df9de0ebSDavid E. O'Brien 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L, 66df9de0ebSDavid E. O'Brien 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL, 67df9de0ebSDavid E. O'Brien 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L, 68df9de0ebSDavid E. O'Brien 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL, 69df9de0ebSDavid E. O'Brien 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL, 70df9de0ebSDavid E. O'Brien 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L, 71df9de0ebSDavid E. O'Brien 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L, 72df9de0ebSDavid E. O'Brien 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL, 73df9de0ebSDavid E. O'Brien 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL, 74df9de0ebSDavid E. O'Brien 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L, 75df9de0ebSDavid E. O'Brien 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L, 76df9de0ebSDavid E. O'Brien 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL, 77df9de0ebSDavid E. O'Brien 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL, 78df9de0ebSDavid E. O'Brien 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L, 79df9de0ebSDavid E. O'Brien 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L, 80df9de0ebSDavid E. O'Brien 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL, 81df9de0ebSDavid E. O'Brien 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL, 82df9de0ebSDavid E. O'Brien 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L, 83df9de0ebSDavid E. O'Brien 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L, 84df9de0ebSDavid E. O'Brien 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL, 85df9de0ebSDavid E. O'Brien 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L, 86df9de0ebSDavid E. O'Brien 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L, 87df9de0ebSDavid E. O'Brien 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L, 88df9de0ebSDavid E. O'Brien 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL, 89df9de0ebSDavid E. O'Brien 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L, 90df9de0ebSDavid E. O'Brien 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L, 91df9de0ebSDavid E. O'Brien 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L, 92df9de0ebSDavid E. O'Brien 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL, 93df9de0ebSDavid E. O'Brien 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L, 94df9de0ebSDavid E. O'Brien 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L, 95df9de0ebSDavid E. O'Brien 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L, 96df9de0ebSDavid E. O'Brien 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL, 97df9de0ebSDavid E. O'Brien 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L, 98df9de0ebSDavid E. O'Brien 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L 99df9de0ebSDavid E. O'Brien }; 100df9de0ebSDavid E. O'Brien 101df9de0ebSDavid E. O'Brien 102df9de0ebSDavid E. O'Brien /*-------------------------------------------------------------*/ 103df9de0ebSDavid E. O'Brien /*--- end crctable.c ---*/ 104df9de0ebSDavid E. O'Brien /*-------------------------------------------------------------*/ 105