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