Exemplo n.º 1
0
 internal CrcMaker(CrcEncoding A_0)
 {
     this.int_0  = 0x10;
     this.long_0 = 0x1021L;
     this.int_1  = 1;
     this.long_1 = 0xffffL;
     this.long_8 = new long[0x100];
     this.method_0(A_0);
 }
Exemplo n.º 2
0
        private void method_0(CrcEncoding A_0)
        {
            long num;
            long num2;
            int  num3;

            this.crcEncoding_0 = A_0;
            switch (A_0)
            {
            case CrcEncoding.CRC16:
                this.int_0  = 0x10;
                this.int_1  = 1;
                this.long_0 = 0x8005L;
                this.long_1 = 0L;
                this.long_2 = 0L;
                this.int_2  = 1;
                this.int_3  = 1;
                break;

            case CrcEncoding.CRC_CCITT:
                this.int_0  = 0x10;
                this.int_1  = 1;
                this.long_0 = 0x1021L;
                this.long_1 = 0xffffL;
                this.long_2 = 0L;
                this.int_2  = 0;
                this.int_3  = 0;
                break;

            case CrcEncoding.CRC_CCITT_Reverse:
                this.int_0  = 0x10;
                this.int_1  = 1;
                this.long_0 = 0x1021L;
                this.long_1 = 0L;
                this.long_2 = 0L;
                this.int_2  = 1;
                this.int_3  = 1;
                break;

            default:
                this.int_0  = 0x20;
                this.int_1  = 1;
                this.long_0 = 0x4c11db7L;
                this.long_1 = 0xffffffffL;
                this.long_2 = 0xffffffffL;
                this.int_2  = 1;
                this.int_3  = 1;
                break;
            }
            this.long_3 = (((1L << ((this.int_0 - 1) & 0x3f)) - 1L) << 1) | 1L;
            this.long_4 = ((long)1L) << (this.int_0 - 1);
            this.method_2();
            if (this.int_1 == 0)
            {
                this.long_6 = this.long_1;
                num         = this.long_1;
                for (num3 = 0; num3 < this.int_0; num3++)
                {
                    num2 = num & this.long_4;
                    num  = num << 1;
                    if (num2 != 0L)
                    {
                        num ^= this.long_0;
                    }
                }
                num        &= this.long_3;
                this.long_5 = num;
            }
            else
            {
                this.long_5 = this.long_1;
                num         = this.long_1;
                for (num3 = 0; num3 < this.int_0; num3++)
                {
                    num2 = num & 1L;
                    if (num2 != 0L)
                    {
                        num ^= this.long_0;
                    }
                    num = num >> 1;
                    if (num2 != 0L)
                    {
                        num |= this.long_4;
                    }
                }
                this.long_6 = num;
            }
        }