diff --git a/projects/samskivert/src/java/com/samskivert/util/CRC32.java b/projects/samskivert/src/java/com/samskivert/util/CRC32.java deleted file mode 100644 index 2f6d31db..00000000 --- a/projects/samskivert/src/java/com/samskivert/util/CRC32.java +++ /dev/null @@ -1,141 +0,0 @@ -// -// $Id$ -// -// samskivert library - useful routines for java programs -// Copyright (C) 2006 Michael Bayne -// -// This library is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License as published -// by the Free Software Foundation; either version 2.1 of the License, or -// (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -package com.samskivert.util; - -import java.math.*; - -/** - *
Calculates the CRC32 - 32 bit Cyclical Redundancy Check. This check is
- * used in numerous systems to verify the integrity of information. It's also
- * used as a hashing function. Unlike a regular checksum, it's sensitive to
- * the order of the characters. It produces a 32 bit Java int.
- *
- *
This Java programme was translated from a C version I had written. This - * software is in the public domain. - * - *
When calculating the CRC32 over a number of strings or byte arrays the - * previously calculated CRC is passed to the next call. In this way the CRC - * is built up over a number of items, including a mix of strings and byte - * arrays. - * - *
- * int crcCalc = CRC32.crc32("Hello World");
- * crcCalc = CRC32.crc32("How are you?", crcCalc);
- * crcCalc = CRC32.crc32("I'm feeling really good, how about you?", crcCalc);
- *
- *
- * The line int crcCalc = CRC32.crc32("Hello World"); is
- * equivalent to int crcCalc = CRC32.crc32("Hello World", -1);.
- * When starting a new CRC calculation the "previous crc" is set to 0xFFFFFFFF
- * (or -1).
- *
- * @author Michael Lecuyer (mjl@theorem.com)
- * @author Michael Bayne (slight modifications)
- */
-public class CRC32
-{
- /**
- * Convenience mithod for generating a CRC from a single
- * String.
- *
- * @param buffer string to generate the CRC32.
- * @return 32 bit CRC.
- */
- public static int crc32 (String buffer)
- {
- return crc32(buffer, 0xFFFFFFFF);
- }
-
- /**
- * Convenience method for generating a CRC from a byte array.
- *
- * @param buffer byte array to generate the CRC32.
- * @return 32 bit CRC.
- */
- public static int crc32 (byte buffer[])
- {
- return crc32(buffer, 0xFFFFFFFF);
- }
-
- /**
- * Convenience method for generating a CRC from a series of
- * String's.
- *
- * @param buffer string to generate the CRC32.
- * @param crc previously generated CRC32.
- * @return 32 bit CRC.
- */
- public static int crc32 (String buffer, int crc)
- {
- return crc32(buffer.getBytes(), crc);
- }
-
- /**
- * Convenience method for generating a CRC from a series of
- * byte arrays.
- *
- * @param buffer byte array to generate the CRC32
- * @param crc previously generated CRC32.
- * @return 32 bit CRC.
- */
- public static int crc32 (byte buffer[], int crc)
- {
- return crc32(buffer, 0, buffer.length, crc);
- }
-
- /**
- * General CRC generation function.
- *
- * @param buffer byte array to generate the CRC32.
- * @param start byte start position.
- * @param count number of byte's to include in CRC calculation.
- * @param lastcrc previously generated CRC32.
- * @return 32 bit CRC
- */
- public static int crc32 (byte buffer[], int start, int count, int lastcrc)
- {
- int crc = lastcrc;
- for (int ii = start; count-- != 0; ii++) {
- int temp1 = crc >>> 8;
- int temp2 = _crcTable[(crc ^ buffer[ii]) & 0xFF];
- crc = temp1 ^ temp2;
- }
- return crc;
- }
-
- protected static int[] _crcTable = new int[256];
- protected static final int CRC32_POLYNOMIAL = 0xEDB88320;
-
- static {
- int crc;
- for (int ii = 0; ii <= 255; ii++) {
- crc = ii;
- for (int jj = 8; jj > 0; jj--) {
- if ((crc & 1) == 1) {
- crc = (crc >>> 1) ^ CRC32_POLYNOMIAL;
- } else {
- crc >>>= 1;
- }
- }
- _crcTable[ii] = crc;
- }
- }
-}