| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Codec.Circe.Internal
Contents
Description
Internal CRC functions. See Codec.Circe for the stable API.
Synopsis
- data CRCCfg a = CRCCfg {}
- showCRCCfg :: CRCCfg String -> String
- crcInternal :: (FiniteBits a, Integral a, Num a, Storable a) => (a -> a) -> CRCCfg a -> ByteString -> a
- crcWithTable :: (FiniteBits a, Integral a, Num a, Storable a) => (a -> a) -> Vector a -> CRCCfg a -> ByteString -> a
- crcUnsafe :: (FiniteBits a, Integral a, Num a, Storable a) => Vector a -> Bool -> a -> ByteString -> a
- crcStep :: (FiniteBits a, Integral a, Num a, Storable a) => Vector a -> a -> Word8 -> a
- crcIdx :: (FiniteBits a, Integral a, Num a) => a -> Word8 -> Int
- crcTable :: (FiniteBits a, Num a, Storable a) => a -> Vector a
- w8 :: Word8 -> String
- w16 :: Word16 -> String
- w32 :: Word32 -> String
- w64 :: Word64 -> String
- table :: [String] -> String
- ref64 :: Word64 -> Word64
- ref32 :: Word32 -> Word32
- ref16 :: Word16 -> Word16
- ref8 :: Word8 -> Word8
CRC
CRC configuration parameters
Constructors
| CRCCfg | |
crcInternal :: (FiniteBits a, Integral a, Num a, Storable a) => (a -> a) -> CRCCfg a -> ByteString -> a Source #
calculate CRC using lookup table generated from config
crcWithTable :: (FiniteBits a, Integral a, Num a, Storable a) => (a -> a) -> Vector a -> CRCCfg a -> ByteString -> a Source #
calculate CRC with reflection & precalculated poly table.
crcUnsafe :: (FiniteBits a, Integral a, Num a, Storable a) => Vector a -> Bool -> a -> ByteString -> a Source #
calculate CRC using width, efficient lookup table, input reflection, and init value
crcStep :: (FiniteBits a, Integral a, Num a, Storable a) => Vector a -> a -> Word8 -> a Source #
single crc iteration with table and accumulator
crcIdx :: (FiniteBits a, Integral a, Num a) => a -> Word8 -> Int Source #
calculate lookup table index
crcTable :: (FiniteBits a, Num a, Storable a) => a -> Vector a Source #
Generate CRC table using width and poly