Exemplo n.º 1
0
 public void CrcParameterAliasesTest(CrcStandard alias, CrcStandard master)
 {
     Assert.AreEqual(CrcParameters.GetParameters(master), CrcParameters.GetParameters(alias));
 }
Exemplo n.º 2
0
        /// <summary>Retrieves a standard set of CRC parameters.</summary>
        /// <param name="standard">The name of the standard parameter set to retrieve.</param>
        /// <returns>The CRC Parameters for the given standard.</returns>
        public static CrcParameters GetParameters(CrcStandard standard)
        {
            CrcParameters param = null;

            switch (standard)
            {
            case CrcStandard.Crc8Bit: param = new CrcParameters(8, 0x07, 0, 0, false); break;

            case CrcStandard.Crc8BitIcode: param = new CrcParameters(8, 0x1D, 0xFD, 0, false); break;

            case CrcStandard.Crc8BitItu: param = new CrcParameters(8, 0x07, 0, 0x55, false); break;

            case CrcStandard.Crc8BitMaxim: param = new CrcParameters(8, 0x31, 0, 0, true); break;

            case CrcStandard.Crc8BitWcdma: param = new CrcParameters(8, 0x9B, 0, 0, true); break;

            case CrcStandard.Crc16Bit: param = new CrcParameters(16, 0x8005, 0, 0, true); break;

            case CrcStandard.Crc16BitArc: goto case CrcStandard.Crc16Bit;

            case CrcStandard.Crc16BitIbm: goto case CrcStandard.Crc16Bit;

            case CrcStandard.Crc16BitLha: goto case CrcStandard.Crc16Bit;

            case CrcStandard.Crc16BitCcitt: param = new CrcParameters(16, 0x1021, 0, 0, true); break;

            case CrcStandard.Crc16BitKermit: goto case CrcStandard.Crc16BitCcitt;

            case CrcStandard.Crc16BitCcittFalse: param = new CrcParameters(16, 0x1021, 0xFFFF, 0, false); break;

            case CrcStandard.Crc16BitMaxim: param = new CrcParameters(16, 0x8005, 0, 0xFFFF, true); break;

            case CrcStandard.Crc16BitUsb: param = new CrcParameters(16, 0x8005, 0xFFFF, 0xFFFF, true); break;

            case CrcStandard.Crc16BitX25: param = new CrcParameters(16, 0x1021, 0xFFFF, 0xFFFF, true); break;

            case CrcStandard.Crc16BitXmodem: param = new CrcParameters(16, 0x1021, 0, 0, false); break;

            case CrcStandard.Crc16BitZmodem: goto case CrcStandard.Crc16BitXmodem;

            case CrcStandard.Crc16BitXkermit: param = new CrcParameters(16, 0x8408, 0, 0, true); break;

            case CrcStandard.Crc24Bit: param = new CrcParameters(24, 0x864CFB, 0xB704CE, 0, false); break;

            case CrcStandard.Crc24BitOpenPgp: goto case CrcStandard.Crc24Bit;

            case CrcStandard.Crc32Bit: param = new CrcParameters(32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true); break;

            case CrcStandard.Crc32BitPkzip: goto case CrcStandard.Crc32Bit;

            case CrcStandard.Crc32BitItu: goto case CrcStandard.Crc32Bit;

            case CrcStandard.Crc32BitBzip2: param = new CrcParameters(32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, false); break;

            case CrcStandard.Crc32BitIscsi: param = new CrcParameters(32, 0x1EDC6F41, 0xFFFFFFFF, 0xFFFFFFFF, true); break;

            case CrcStandard.Crc32BitJam: param = new CrcParameters(32, 0x04C11DB7, 0xFFFFFFFF, 0, true); break;

            case CrcStandard.Crc32BitPosix: param = new CrcParameters(32, 0x04C11DB7, 0, 0xFFFFFFFF, false); break;

            case CrcStandard.Crc32BitCksum: goto case CrcStandard.Crc32BitPosix;

            case CrcStandard.Crc32BitMpeg2: param = new CrcParameters(32, 0x04C11DB7, 0xFFFFFFFF, 0, false); break;

            case CrcStandard.Crc64Bit: param = new CrcParameters(64, 0x42F0E1EBA9EA3693, 0, 0, false); break;

            case CrcStandard.Crc64BitWE: param = new CrcParameters(64, (long)0x42F0E1EBA9EA3693, -1, -1, false); break;

            case CrcStandard.Crc64BitIso: param = new CrcParameters(64, 0x000000000000001B, 0, 0, true); break;

            case CrcStandard.Crc64BitJones: param = new CrcParameters(64, unchecked ((long)0xAD93D23594C935A9), 0, 0, true); break;
            }

            return(param);
        }