-/*\r
- * 11/19/04 : 1.0 moved to LGPL.\r
- * \r
- * 02/12/99 : Java Conversion by E.B , javalayer@javazoom.net\r
- *\r
- * @(#) crc.h 1.5, last edit: 6/15/94 16:55:32\r
- * @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de)\r
- * @(#) Berlin University of Technology\r
- *-----------------------------------------------------------------------\r
- * This program is free software; you can redistribute it and/or modify\r
- * it under the terms of the GNU Library General Public License as published\r
- * by the Free Software Foundation; either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU Library General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU Library General Public\r
- * License along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
- *----------------------------------------------------------------------\r
- */\r
-\r
-/**\r
- * 16-Bit CRC checksum\r
- */\r
-@LATTICE("B<T,B*")\r
-@METHODDEFAULT("OUT<V,V<SH,SH<IN,SH*,THISLOC=V,GLOBALLOC=V")\r
-public final class Crc16\r
-{\r
- @LOC("T") private static short polynomial=(short)0x8005;\r
- @LOC("B") private short crc;\r
-\r
- /**\r
- * Dummy Constructor\r
- */\r
- public Crc16()\r
- { \r
- crc = (short) 0xFFFF;\r
- }\r
-\r
- /**\r
- * Feed a bitstring to the crc calculation (0 < length <= 32).\r
- */\r
- //ssjava\r
- @LATTICE("OUT<V,V<SH,SH<IN,SH*,THISLOC=V,GLOBALLOC=V")\r
- public void add_bits (@LOC("IN") int bitstring, @LOC("IN") int length)\r
- {\r
- @LOC("SH") int bitmask = 1 << (length - 1);\r
- do{\r
- if (((crc & 0x8000) == 0) ^ ((bitstring & bitmask) == 0 ))\r
- {\r
- crc <<= 1;\r
- crc ^= polynomial;\r
- }\r
- else{\r
- crc <<= 1;\r
- }\r
- }while ((bitmask >>>= 1) != 0);\r
- }\r
-\r
- /**\r
- * Return the calculated checksum.\r
- * Erase it for next calls to add_bits().\r
- */\r
- @RETURNLOC("OUT")\r
- public short checksum()\r
- {\r
- @LOC("OUT") short sum = crc;\r
- crc = (short) 0xFFFF;\r
- return sum;\r
- }\r
-}\r
+/*
+ * 11/19/04 : 1.0 moved to LGPL.
+ *
+ * 02/12/99 : Java Conversion by E.B , javalayer@javazoom.net
+ *
+ * @(#) crc.h 1.5, last edit: 6/15/94 16:55:32
+ * @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de)
+ * @(#) Berlin University of Technology
+ *-----------------------------------------------------------------------
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as published
+ * by the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *----------------------------------------------------------------------
+ */
+
+/**
+ * 16-Bit CRC checksum
+ */
+
+
+public final class Crc16
+{
+ private static short polynomial=(short)0x8005;
+ private short crc;
+
+ /**
+ * Dummy Constructor
+ */
+ public Crc16()
+ {
+ crc = (short) 0xFFFF;
+ }
+
+ /**
+ * Feed a bitstring to the crc calculation (0 < length <= 32).
+ */
+ //ssjava
+
+ public void add_bits ( int bitstring, int length)
+ {
+ int bitmask = 1 << (length - 1);
+ do{
+ if (((crc & 0x8000) == 0) ^ ((bitstring & bitmask) == 0 ))
+ {
+ crc <<= 1;
+ crc ^= polynomial;
+ }
+ else{
+ crc <<= 1;
+ }
+ }while ((bitmask >>>= 1) != 0);
+ }
+
+ /**
+ * Return the calculated checksum.
+ * Erase it for next calls to add_bits().
+ */
+
+ public short checksum()
+ {
+ short sum = crc;
+ crc = (short) 0xFFFF;
+ return sum;
+ }
+}