12#include <include/qlibs_types.hpp>
35 static uint32_t reflect( uint32_t xData,
36 const uint8_t nBits )
noexcept;
55 static uint32_t
generic(
crcMode mode,
56 const void *
const pData,
59 const uint32_t init = 0U,
62 uint32_t xorOut = 0U )
noexcept;
71 static inline uint8_t
crc8(
const void *
const pData,
const size_t length )
noexcept
73 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x07U ) );
83 static inline uint8_t
crc8_CDMA2000(
const void *
const pData,
const size_t length )
noexcept
85 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x9BU, 0xFFU ) );
95 static inline uint8_t
crc8_DARC(
const void *
const pData,
const size_t length )
noexcept
97 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x39U, 0U,
true, true ) );
107 static inline uint8_t
crc8_DVS_S2(
const void *
const pData,
const size_t length )
noexcept
109 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0xD5U ) );
119 static inline uint8_t
crc8_EBU(
const void *
const pData,
const size_t length )
noexcept
121 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x1DU, 0xFFU,
true, true ) );
131 static inline uint8_t
crc8_I_CODE(
const void *
const pData,
const size_t length )
noexcept
133 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x1DU, 0xFDU ) );
143 static inline uint8_t
crc8_ITU(
const void *
const pData,
const size_t length )
noexcept
145 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x07U, 0U,
false,
false, 0x55U ) );
155 static inline uint8_t
crc8_MAXIM(
const void *
const pData,
const size_t length )
noexcept
157 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x31U, 0U,
true, true ) );
167 static inline uint8_t
crc8_ROHC(
const void *
const pData,
const size_t length )
noexcept
169 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x07U, 0xFFU,
true, true ) );
179 static inline uint8_t
crc8_WCDMA(
const void *
const pData,
const size_t length )
noexcept
181 return static_cast<uint8_t
>(
generic(
CRC8, pData, length, 0x9BU, 0U,
true, true ) );
191 static inline uint16_t
crc16_CCITT_FALSE(
const void *
const pData,
const size_t length )
noexcept
193 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0xFFFFU ) );
203 static inline uint16_t
crc16_ARC(
const void *
const pData,
const size_t length )
noexcept
205 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8005U, 0U,
true, true ) );
215 static inline uint16_t
crc16_AUG_CCITT(
const void *
const pData,
const size_t length )
noexcept
217 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0x1D0FU ) );
227 static inline uint16_t
crc16_BUYPASS(
const void *
const pData,
const size_t length )
noexcept
229 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8005U ) );
239 static inline uint16_t
crc16_CDMA2000(
const void *
const pData,
const size_t length )
noexcept
241 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0xC867U, 0xFFFFU ) );
251 static inline uint16_t
crc16_DDS_110(
const void *
const pData,
const size_t length )
noexcept
253 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8005U, 0x800DU ) );
263 static inline uint16_t
crc16_DECT_R(
const void *
const pData,
const size_t length )
noexcept
265 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x0589U, 0U,
false,
false, 0x0001U ) );
275 static inline uint16_t
crc16_DECT_X(
const void *
const pData,
const size_t length )
noexcept
277 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x0589U ) );
287 static inline uint16_t
crc16_DNP(
const void *
const pData,
const size_t length )
noexcept
289 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x3D65U, 0U,
true,
true, 0xFFFFU ) );
299 static inline uint16_t
crc16_EN_13757(
const void *
const pData,
const size_t length )
noexcept
301 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x3D65U, 0U,
false,
false, 0xFFFFU ) );
311 static inline uint16_t
crc16_GENIBUS(
const void *
const pData,
const size_t length )
noexcept
313 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0xFFFFU,
false,
false, 0xFFFFU ) );
323 static inline uint16_t
crc16_MAXIM(
const void *
const pData,
const size_t length )
noexcept
325 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8005U, 0U,
true,
true, 0xFFFFU ) );
335 static inline uint16_t
crc16_MCRF4XX(
const void *
const pData,
const size_t length )
noexcept
337 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0xFFFFU,
true, true ) );
347 static inline uint16_t
crc16_RIELLO(
const void *
const pData,
const size_t length )
noexcept
349 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0xB2AAU,
true, true ) );
359 static inline uint16_t
crc16_T10_DIF(
const void *
const pData,
const size_t length )
noexcept
361 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8BB7U ) );
371 static inline uint16_t
crc16_TELEDISK(
const void *
const pData,
const size_t length )
noexcept
373 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0xA097U ) );
383 static inline uint16_t
crc16_TMS37157(
const void *
const pData,
const size_t length )
noexcept
385 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0x89ECU,
true, true ) );
395 static inline uint16_t
crc16_USB(
const void *
const pData,
const size_t length )
noexcept
397 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8005U, 0xFFFFU,
true,
true, 0xFFFFU ) );
407 static inline uint16_t
crc16_A(
const void *
const pData,
const size_t length )
noexcept
409 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0xc6c6U,
true, true ) );
419 static inline uint16_t
crc16_KERMIT(
const void *
const pData,
const size_t length )
noexcept
421 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0U,
true, true ) );
431 static inline uint16_t
crc16_MODBUS(
const void *
const pData,
const size_t length )
noexcept
433 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x8005U, 0xFFFFU,
true, true ) );
443 static inline uint16_t
crc16_X_25(
const void *
const pData,
const size_t length )
noexcept
445 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U, 0xFFFFU,
true,
true, 0xFFFFU ) );
455 static inline uint16_t
crc16_XMODEM(
const void *
const pData,
const size_t length )
noexcept
457 return static_cast<uint16_t
>(
generic(
CRC16, pData, length, 0x1021U ) );
467 static inline uint32_t
crc32(
const void *
const pData,
const size_t length )
noexcept
469 return generic(
CRC32, pData, length, 0x04C11DB7U, 0xFFFFFFFFU,
true,
true, 0xFFFFFFFFU );
479 static inline uint32_t
crc32_BZIP2(
const void *
const pData,
const size_t length )
noexcept
481 return generic(
CRC32, pData, length, 0x04C11DB7U, 0xFFFFFFFFU,
false,
false, 0xFFFFFFFFU );
491 static inline uint32_t
crc32_C(
const void *
const pData,
const size_t length )
noexcept
493 return generic(
CRC32, pData, length, 0x1EDC6F41U, 0xFFFFFFFFU,
true,
true, 0xFFFFFFFFU );
503 static inline uint32_t
crc32_D(
const void *
const pData,
const size_t length )
noexcept
505 return generic(
CRC32, pData, length, 0xA833982BU, 0xFFFFFFFFU,
true,
true, 0xFFFFFFFFU );
515 static inline uint32_t
crc32_JAMCRC(
const void *
const pData,
const size_t length )
noexcept
517 return generic(
CRC32, pData, length, 0x04C11DB7U, 0xFFFFFFFFU,
true, true );
527 static inline uint32_t
crc32_MPEG2(
const void *
const pData,
const size_t length )
noexcept
529 return generic(
CRC32, pData, length, 0x04C11DB7U, 0xFFFFFFFFU );
539 static inline uint32_t
crc32_POSIX(
const void *
const pData,
const size_t length )
noexcept
541 return generic(
CRC32, pData, length, 0x04C11DB7U, 0U,
false,
false, 0xFFFFFFFFU );
551 static inline uint32_t
crc32_Q(
const void *
const pData,
const size_t length )
noexcept
553 return generic(
CRC32, pData, length, 0x814141ABU );
563 static inline uint32_t
crc32_XFER(
const void *
const pData,
const size_t length )
noexcept
565 return generic(
CRC32, pData, length, 0x000000AFU );
static uint8_t crc8_WCDMA(const void *const pData, const size_t length) noexcept
CRC-8/WCDMA with poly = 0x9B init = 0x00 refIn = true refOut = true xorOut= 0x00.
Definition crc.hpp:179
static uint8_t crc8_CDMA2000(const void *const pData, const size_t length) noexcept
CRC-8/CDMA2000 with poly = 0x9B init = 0xFF refIn = false refOut = false xorOut= 0x00.
Definition crc.hpp:83
static uint8_t crc8_DVS_S2(const void *const pData, const size_t length) noexcept
CRC-8/DVS-S2 with poly = 0xD5 init = 0x00 refIn = false refOut = false xorOut= 0x00.
Definition crc.hpp:107
static uint16_t crc16_CDMA2000(const void *const pData, const size_t length) noexcept
CRC-16/CDMA2000 with poly = 0xC867 init = 0xFFFF refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:239
static uint16_t crc16_TELEDISK(const void *const pData, const size_t length) noexcept
CRC-16/TELEDISK with poly = 0xA097 init = 0x0000 refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:371
static uint32_t crc32_C(const void *const pData, const size_t length) noexcept
CRC-32C with poly = 0x1EDC6F41 init = 0xFFFFFFFF refIn = true refOut = true xorOut= 0xFFFFFFFF.
Definition crc.hpp:491
static uint8_t crc8(const void *const pData, const size_t length) noexcept
CRC-8 with poly = 0x07 init = 0x00 refIn = false refOut = false xorOut= 0x00.
Definition crc.hpp:71
static uint16_t crc16_TMS37157(const void *const pData, const size_t length) noexcept
CRC-16/TMS37157 with poly = 0x1021 init = 0x89EC refIn = true refOut = true xorOut= 0x000.
Definition crc.hpp:383
static uint32_t crc32_XFER(const void *const pData, const size_t length) noexcept
CRC-32/XFER with poly = 0x000000AF init = 0x00000000 refIn = false refOut = false xorOut= 0x00000000.
Definition crc.hpp:563
static uint16_t crc16_X_25(const void *const pData, const size_t length) noexcept
CRC-16/X-25 with poly = 0x1021 init = 0xFFFF refIn = true refOut = true xorOut= 0xFFFF.
Definition crc.hpp:443
static uint16_t crc16_ARC(const void *const pData, const size_t length) noexcept
CRC-16/ARC with poly = 0x8005 init = 0x0000 refIn = true refOut = true xorOut= 0x0000.
Definition crc.hpp:203
static uint16_t crc16_XMODEM(const void *const pData, const size_t length) noexcept
CRC-16/XMODEM with poly = 0x1021 init = 0x0000 refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:455
static uint16_t crc16_MODBUS(const void *const pData, const size_t length) noexcept
CRC-16/MODBUS with poly = 0x8005 init = 0xFFFF refIn = true refOut = true xorOut= 0x0000.
Definition crc.hpp:431
static uint16_t crc16_DDS_110(const void *const pData, const size_t length) noexcept
CRC-16/DDS-110 with poly = 0x8005 init = 0x800D refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:251
static uint8_t crc8_EBU(const void *const pData, const size_t length) noexcept
CRC-8/EBU with poly = 0x1D init = 0xFF refIn = true refOut = true xorOut= 0x00.
Definition crc.hpp:119
static uint16_t crc16_MAXIM(const void *const pData, const size_t length) noexcept
CRC-16/MAXIM with poly = 0x8005 init = 0x0000 refIn = true refOut = true xorOut= 0xFFFF.
Definition crc.hpp:323
static uint16_t crc16_DECT_X(const void *const pData, const size_t length) noexcept
CRC-16/DECT-X with poly = 0x0589 init = 0x0000 refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:275
static uint16_t crc16_EN_13757(const void *const pData, const size_t length) noexcept
CRC-16/EN-13757 with poly = 0x3D65 init = 0x0000 refIn = false refOut = false xorOut= 0xFFFF.
Definition crc.hpp:299
static uint16_t crc16_T10_DIF(const void *const pData, const size_t length) noexcept
CRC-16/DECT-X with poly = 0x8bb7 init = 0x0000 refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:359
static uint32_t crc32_MPEG2(const void *const pData, const size_t length) noexcept
CRC-32/MPEG2 with poly = 0x04C11DB7 init = 0xFFFFFFFF refIn = false refOut = false xorOut= 0x00000000...
Definition crc.hpp:527
static uint8_t crc8_MAXIM(const void *const pData, const size_t length) noexcept
CRC-8/MAXIM with poly = 0x31 init = 0x00 refIn = true refOut = true xorOut= 0x00.
Definition crc.hpp:155
static uint16_t crc16_CCITT_FALSE(const void *const pData, const size_t length) noexcept
CRC-16/CCITT-FALSE with poly = 0x1021 init = 0xFFFF refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:191
static uint16_t crc16_BUYPASS(const void *const pData, const size_t length) noexcept
CRC-16/BUYPASS with poly = 0x8005 init = 0x0000 refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:227
static uint32_t crc32_JAMCRC(const void *const pData, const size_t length) noexcept
CRC-32/JAMCRC with poly = 0x04C11DB7 init = 0xFFFFFFFF refIn = true refOut = true xorOut= 0x00000000.
Definition crc.hpp:515
static uint16_t crc16_A(const void *const pData, const size_t length) noexcept
CRC-A with poly = 0x1021 init = 0xC6C6 refIn = true refOut = true xorOut= 0x0000.
Definition crc.hpp:407
static uint16_t crc16_GENIBUS(const void *const pData, const size_t length) noexcept
CRC-16/GENIBUS with poly = 0x1021 init = 0xFFFF refIn = false refOut = false xorOut= 0xFFFF.
Definition crc.hpp:311
static uint32_t crc32_BZIP2(const void *const pData, const size_t length) noexcept
CRC-32/BZIP2 with poly = 0x04C11DB7 init = 0xFFFFFFFF refIn = false refOut = false xorOut= 0xFFFFFFFF...
Definition crc.hpp:479
static uint32_t crc32_D(const void *const pData, const size_t length) noexcept
CRC-32D with poly = 0xA833982B init = 0xFFFFFFFF refIn = true refOut = true xorOut= 0xFFFFFFFF.
Definition crc.hpp:503
static uint8_t crc8_ROHC(const void *const pData, const size_t length) noexcept
CRC-8/ROHC with poly = 0x07 init = 0xFF refIn = true refOut = true xorOut= 0x00.
Definition crc.hpp:167
static uint16_t crc16_AUG_CCITT(const void *const pData, const size_t length) noexcept
CRC-16/AUG-CCITT with poly = 0x1021 init = 0x1D0F refIn = false refOut = false xorOut= 0x0000.
Definition crc.hpp:215
static uint32_t crc32(const void *const pData, const size_t length) noexcept
CRC-32 with poly = 0x04C11DB7 init = 0xFFFFFFFF refIn = true refOut = true xorOut= 0xFFFFFFFF.
Definition crc.hpp:467
static uint16_t crc16_DNP(const void *const pData, const size_t length) noexcept
CRC-16/DNP with poly = 0x3D98 init = 0x0000 refIn = true refOut = true xorOut= 0xFFFF.
Definition crc.hpp:287
static uint32_t crc32_Q(const void *const pData, const size_t length) noexcept
CRC-32Q with poly = 0x814141AB init = 0x00000000 refIn = false refOut = false xorOut= 0x00000000.
Definition crc.hpp:551
static uint8_t crc8_ITU(const void *const pData, const size_t length) noexcept
CRC-8/ITU with poly = 0x07 init = 0x00 refIn = false refOut = false xorOut= 0x55.
Definition crc.hpp:143
static uint8_t crc8_DARC(const void *const pData, const size_t length) noexcept
CRC-8/DARC with poly = 0x39 init = 0x00 refIn = true refOut = true xorOut= 0x00.
Definition crc.hpp:95
static uint16_t crc16_RIELLO(const void *const pData, const size_t length) noexcept
CRC-16/RIELLO with poly = 0x1021 init = 0xB2AA refIn = true refOut = true xorOut= 0x0000.
Definition crc.hpp:347
static uint32_t crc32_POSIX(const void *const pData, const size_t length) noexcept
CRC-32/POSIX with poly = 0x04C11DB7 init = 0x00000000 refIn = false refOut = false xorOut= 0xFFFFFFFF...
Definition crc.hpp:539
static uint8_t crc8_I_CODE(const void *const pData, const size_t length) noexcept
CRC-8/I-CODE with poly = 0x1D init = 0xFD refIn = false refOut = false xorOut= 0x00.
Definition crc.hpp:131
static uint16_t crc16_DECT_R(const void *const pData, const size_t length) noexcept
CRC-16/DECT-R with poly = 0x0589 init = 0x0000 refIn = false refOut = false xorOut= 0x0001.
Definition crc.hpp:263
static uint16_t crc16_KERMIT(const void *const pData, const size_t length) noexcept
CRC-16/KERMIT with poly = 0x1021 init = 0x0000 refIn = true refOut = true xorOut= 0x000.
Definition crc.hpp:419
static uint16_t crc16_USB(const void *const pData, const size_t length) noexcept
CRC-16/USB with poly = 0x8005 init = 0xFFFF refIn = true refOut = true xorOut= 0xFFFF.
Definition crc.hpp:395
static uint16_t crc16_MCRF4XX(const void *const pData, const size_t length) noexcept
CRC-16/MCRF4XX with poly = 0x1021 init = 0xFFFF refIn = true refOut = true xorOut= 0x0000.
Definition crc.hpp:335
crcMode
Enumeration with all the supported cyclic redundancy checks.
Definition crc.hpp:27
@ CRC8
Definition crc.hpp:28
@ CRC32
Definition crc.hpp:30
@ CRC16
Definition crc.hpp:29
The qLibs++ library namespace.
Definition fp16.cpp:4