CRC-64

From: ncm(at)zembu(dot)com (Nathan Myers)
To: pgsql-hackers(at)postgresql(dot)org
Subject: CRC-64
Date: 2000-12-14 21:08:10
Message-ID: 20001214130810.A11704@store.zembu.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


I have obtained the CRC-64 code used in the SWISS-PROT genetic
database:

ftp://ftp.ebi.ac.uk/pub/software/swissprot/Swissknife/SPcrc.tar.gz

(Thanks go to Henning Hermjakob <hhe(at)ebi(dot)ac(dot)uk> of the European
Bioinformatics Institute.) From the README:

The code in this package has been derived from the BTLib package
obtained from Christian Iseli <chris(at)ludwig-alpha(dot)unil(dot)ch>.
From his mail:

The reference is: W. H. Press, S. A. Teukolsky, W. T. Vetterling, and
B. P. Flannery, "Numerical recipes in C", 2nd ed., Cambridge University
Press. Pages 896ff.

The generator polynomial is x64 + x4 + x3 + x1 + 1.

Choosing a good polynomial is considered a black art. A good tutorial
on CRC practice is at

http://www.repairfaq.org/filipg/LINK/F_crc_v3.html

and there's a clear exposition of the theory in Tanenbaum's
"Computer Networks". Note that initialization is important, and
often neglected: one quality to check is, does a block of all zeroes,
and a zero CRC, come out as an error?

Nathan Myers
ncm(at)zembu(dot)com

Browse pgsql-hackers by date

  From Date Subject
Next Message Sandeep Joshi 2000-12-15 01:26:21 create trigger : functions
Previous Message Joel Burton 2000-12-14 20:14:48 Re: [HACKERS] How to import/export data from/to an ASCII file?