Blame crcgen.c

Packit Service a275fa
/*
Packit Service a275fa
 Generation of CRC lookup table
Packit Service a275fa
 as used in Perl module "String::CRC32"
Packit Service a275fa
Packit Service a275fa
 1999 by Soenke J. Peters <peters__perl@opcenter.de>
Packit Service a275fa
*/
Packit Service a275fa
Packit Service a275fa
#include <stdio.h>
Packit Service a275fa
Packit Service a275fa
int
Packit Service a275fa
main ( void )
Packit Service a275fa
{ 
Packit Service a275fa
  unsigned long crc, poly;
Packit Service a275fa
  int     i, j;
Packit Service a275fa
Packit Service a275fa
  poly = 0xEDB88320L;
Packit Service a275fa
  
Packit Service a275fa
  printf("unigned long\ncrcTable[256] = {\n");
Packit Service a275fa
  for (i=0; i<256; i++) {
Packit Service a275fa
    crc = i;
Packit Service a275fa
    for (j=8; j>0; j--) {
Packit Service a275fa
      if (crc&1) {
Packit Service a275fa
        crc = (crc >> 1) ^ poly;
Packit Service a275fa
      } else {
Packit Service a275fa
        crc >>= 1;
Packit Service a275fa
      }
Packit Service a275fa
    }
Packit Service a275fa
    printf( "0x%lx,", crc);
Packit Service a275fa
    if( (i&7) == 7 )
Packit Service a275fa
      printf("\n" );
Packit Service a275fa
    else
Packit Service a275fa
      printf(" ");
Packit Service a275fa
  }
Packit Service a275fa
  printf("};\n");
Packit Service a275fa
  return 0;
Packit Service a275fa
}