RLPark 1.0.0
Reinforcement Learning Framework in Java

CRC.java

Go to the documentation of this file.
00001 /*
00002  * The Apache Software License, Version 1.1
00003  *
00004  * Copyright (c) 2001-2002 The Apache Software Foundation.  All rights
00005  * reserved.
00006  *
00007  * Redistribution and use in source and binary forms, with or without
00008  * modification, are permitted provided that the following conditions
00009  * are met:
00010  *
00011  * 1. Redistributions of source code must retain the above copyright
00012  *    notice, this list of conditions and the following disclaimer.
00013  *
00014  * 2. Redistributions in binary form must reproduce the above copyright
00015  *    notice, this list of conditions and the following disclaimer in
00016  *    the documentation and/or other materials provided with the
00017  *    distribution.
00018  *
00019  * 3. The end-user documentation included with the redistribution, if
00020  *    any, must include the following acknowlegement:
00021  *       "This product includes software developed by the
00022  *        Apache Software Foundation (http://www.apache.org/)."
00023  *    Alternately, this acknowlegement may appear in the software itself,
00024  *    if and wherever such third-party acknowlegements normally appear.
00025  *
00026  * 4. The names "Ant" and "Apache Software
00027  *    Foundation" must not be used to endorse or promote products derived
00028  *    from this software without prior written permission. For written
00029  *    permission, please contact apache@apache.org.
00030  *
00031  * 5. Products derived from this software may not be called "Apache"
00032  *    nor may "Apache" appear in their names without prior written
00033  *    permission of the Apache Group.
00034  *
00035  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
00036  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00037  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00038  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
00039  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
00040  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00041  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
00042  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00043  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00044  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
00045  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00046  * SUCH DAMAGE.
00047  * ====================================================================
00048  *
00049  * This software consists of voluntary contributions made by many
00050  * individuals on behalf of the Apache Software Foundation.  For more
00051  * information on the Apache Software Foundation, please see
00052  * <http://www.apache.org/>.
00053  */
00054 
00055 /*
00056  * This package is based on the work done by Keiron Liddle, Aftex Software
00057  * <keiron@aftexsw.com> to whom the Ant project is very grateful for his
00058  * great code.
00059  */
00060 
00061 package zephyr.plugin.core.api.internal.bz2;
00062 
00069 class CRC {
00070   public static int crc32Table[] = {
00071         0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9,
00072         0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005,
00073         0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61,
00074         0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
00075         0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9,
00076         0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75,
00077         0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011,
00078         0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd,
00079         0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
00080         0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5,
00081         0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81,
00082         0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d,
00083         0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49,
00084         0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
00085         0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1,
00086         0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d,
00087         0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae,
00088         0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072,
00089         0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
00090         0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca,
00091         0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde,
00092         0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02,
00093         0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066,
00094         0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
00095         0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e,
00096         0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692,
00097         0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6,
00098         0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a,
00099         0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
00100         0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2,
00101         0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686,
00102         0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a,
00103         0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637,
00104         0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
00105         0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f,
00106         0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53,
00107         0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47,
00108         0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b,
00109         0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
00110         0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623,
00111         0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7,
00112         0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b,
00113         0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f,
00114         0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
00115         0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7,
00116         0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b,
00117         0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f,
00118         0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3,
00119         0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
00120         0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c,
00121         0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8,
00122         0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24,
00123         0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30,
00124         0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
00125         0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088,
00126         0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654,
00127         0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0,
00128         0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c,
00129         0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
00130         0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4,
00131         0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0,
00132         0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c,
00133         0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668,
00134         0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
00135     };
00136 
00137   public CRC() {
00138     initialiseCRC();
00139   }
00140 
00141   void initialiseCRC() {
00142     globalCrc = 0xffffffff;
00143   }
00144 
00145   int getFinalCRC() {
00146     return ~globalCrc;
00147   }
00148 
00149   int getGlobalCRC() {
00150     return globalCrc;
00151   }
00152 
00153   void setGlobalCRC(int newCrc) {
00154     globalCrc = newCrc;
00155   }
00156 
00157   void updateCRC(int inCh) {
00158     int temp = globalCrc >> 24 ^ inCh;
00159     if (temp < 0)
00160       temp = 256 + temp;
00161     globalCrc = globalCrc << 8 ^ CRC.crc32Table[temp];
00162   }
00163 
00164   int globalCrc;
00165 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark