Subversion Repositories nw_plus

Rev

Blame | Last modification | View Log | RSS feed

  1.  
  2. /*-------------------------------------------------------------*/
  3. /*--- Table for doing CRCs                                  ---*/
  4. /*---                                            crctable.c ---*/
  5. /*-------------------------------------------------------------*/
  6.  
  7. /* ------------------------------------------------------------------
  8.    This file is part of bzip2/libbzip2, a program and library for
  9.    lossless, block-sorting data compression.
  10.  
  11.    bzip2/libbzip2 version 1.0.4 of 20 December 2006
  12.    Copyright (C) 1996-2006 Julian Seward <jseward@bzip.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.  
  31. UInt32 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.