From 6c4cc0dba681fef1cef3c31877653a1d6413fc90 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 1 Feb 2024 09:40:51 +0100 Subject: Kernel: Improve CRC compute function. Signed-off-by: Amlal El Mahrouss --- Private/NewKit/CRC32.hpp | 21 --------------------- Private/NewKit/Crc32.hpp | 21 +++++++++++++++++++++ Private/Source/Crc32.cxx | 8 ++++---- 3 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 Private/NewKit/CRC32.hpp create mode 100644 Private/NewKit/Crc32.hpp diff --git a/Private/NewKit/CRC32.hpp b/Private/NewKit/CRC32.hpp deleted file mode 100644 index 15bff9db..00000000 --- a/Private/NewKit/CRC32.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/* - * ======================================================== - * - * HCore Date Added: 13/02/2023 - * Copyright Mahrouss Logic, all rights reserved. - * - * ======================================================== - */ - -#ifndef __CRC32_H__ -#define __CRC32_H__ - -#include - -#define kCrcCnt (256) - -namespace HCore { -Int ke_calculate_crc32(const Char* crc, Int len) noexcept; -} // namespace HCore - -#endif // !__CRC32_H__ diff --git a/Private/NewKit/Crc32.hpp b/Private/NewKit/Crc32.hpp new file mode 100644 index 00000000..7e9ce2af --- /dev/null +++ b/Private/NewKit/Crc32.hpp @@ -0,0 +1,21 @@ +/* + * ======================================================== + * + * HCore Date Added: 13/02/2023 + * Copyright Mahrouss Logic, all rights reserved. + * + * ======================================================== + */ + +#ifndef __CRC32_H__ +#define __CRC32_H__ + +#include + +#define kCrcCnt (256) + +namespace HCore { +UInt ke_calculate_crc32(const Char* crc, UInt len) noexcept; +} // namespace HCore + +#endif // !__CRC32_H__ diff --git a/Private/Source/Crc32.cxx b/Private/Source/Crc32.cxx index 3565b3fc..b451d4d4 100644 --- a/Private/Source/Crc32.cxx +++ b/Private/Source/Crc32.cxx @@ -7,7 +7,7 @@ * ======================================================== */ -#include +#include // @file CRC32.cpp // @brief Checksum implementation. @@ -58,9 +58,9 @@ UInt kCrcTbl[kCrcCnt] = { 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d}; -/// @brief calculate CRC32 of series of byte. -Int ke_calculate_crc32(const Char *p, Int len) noexcept { - UInt32 crc = 0xffffffff; +/// @brief calculate CRC32 of pointer. +UInt ke_calculate_crc32(const Char *p, UInt len) noexcept { + UInt crc = 0xffffffff; while (len-- != 0) crc = kCrcTbl[((UInt8)crc ^ *(p++))] ^ (crc >> 8); -- cgit v1.2.3