diff --git a/HashLib.Benchmark/Delphi/HashLib.BenchmarkConsole.dpr b/HashLib.Benchmark/Delphi/HashLib.BenchmarkConsole.dpr index d9151d4d..b9043e15 100644 --- a/HashLib.Benchmark/Delphi/HashLib.BenchmarkConsole.dpr +++ b/HashLib.Benchmark/Delphi/HashLib.BenchmarkConsole.dpr @@ -141,16 +141,17 @@ uses HlpScryptSimd in '..\..\HashLib\src\Simd\Facade\HlpScryptSimd.pas', HlpScryptX86Backend in '..\..\HashLib\src\Simd\Backend\HlpScryptX86Backend.pas', HlpScryptArmBackend in '..\..\HashLib\src\Simd\Backend\HlpScryptArmBackend.pas', - HlpConverters in '..\..\HashLib\src\Utils\HlpConverters.pas', - HlpBitOperations in '..\..\HashLib\src\Utils\HlpBitOperations.pas', - HlpBinaryPrimitives in '..\..\HashLib\src\Utils\HlpBinaryPrimitives.pas', - HlpCpuFeatures in '..\..\HashLib\src\Utils\HlpCpuFeatures.pas', - HlpX86SimdFeatures in '..\..\HashLib\src\Utils\HlpX86SimdFeatures.pas', - HlpArmSimdFeatures in '..\..\HashLib\src\Utils\HlpArmSimdFeatures.pas', - HlpSimdLevels in '..\..\HashLib\src\Utils\HlpSimdLevels.pas', - HlpArmHwCapProvider in '..\..\HashLib\src\Utils\HlpArmHwCapProvider.pas', - HlpDarwinSysCtl in '..\..\HashLib\src\Utils\HlpDarwinSysCtl.pas', - HlpHashLibTypes in '..\..\HashLib\src\Utils\HlpHashLibTypes.pas', + HlpConverters in '..\..\HashLib\src\Misc\HlpConverters.pas', + HlpBitOperations in '..\..\HashLib\src\Misc\HlpBitOperations.pas', + HlpBinaryPrimitives in '..\..\HashLib\src\Misc\HlpBinaryPrimitives.pas', + HlpCpuFeatures in '..\..\HashLib\src\Misc\HlpCpuFeatures.pas', + HlpX86SimdFeatures in '..\..\HashLib\src\Misc\HlpX86SimdFeatures.pas', + HlpArmSimdFeatures in '..\..\HashLib\src\Misc\HlpArmSimdFeatures.pas', + HlpSimdLevels in '..\..\HashLib\src\Misc\HlpSimdLevels.pas', + HlpArmHwCapProvider in '..\..\HashLib\src\Misc\HlpArmHwCapProvider.pas', + HlpDarwinSysCtl in '..\..\HashLib\src\Misc\HlpDarwinSysCtl.pas', + HlpHashLibExceptions in '..\..\HashLib\src\Misc\HlpHashLibExceptions.pas', + HlpHashLibTypes in '..\..\HashLib\src\Misc\HlpHashLibTypes.pas', HlpArrayUtils in '..\..\HashLib\src\Utils\HlpArrayUtils.pas'; procedure ConsoleLog(const AMessage: String); diff --git a/HashLib.Benchmark/Delphi/HashLib.BenchmarkFMX.dpr b/HashLib.Benchmark/Delphi/HashLib.BenchmarkFMX.dpr index 3b4c4866..7223afb1 100644 --- a/HashLib.Benchmark/Delphi/HashLib.BenchmarkFMX.dpr +++ b/HashLib.Benchmark/Delphi/HashLib.BenchmarkFMX.dpr @@ -140,14 +140,15 @@ uses HlpScryptSimd in '..\..\HashLib\src\Simd\Facade\HlpScryptSimd.pas', HlpScryptX86Backend in '..\..\HashLib\src\Simd\Backend\HlpScryptX86Backend.pas', HlpScryptArmBackend in '..\..\HashLib\src\Simd\Backend\HlpScryptArmBackend.pas', - HlpConverters in '..\..\HashLib\src\Utils\HlpConverters.pas', - HlpBitOperations in '..\..\HashLib\src\Utils\HlpBitOperations.pas', - HlpBinaryPrimitives in '..\..\HashLib\src\Utils\HlpBinaryPrimitives.pas', - HlpCpuFeatures in '..\..\HashLib\src\Utils\HlpCpuFeatures.pas', - HlpX86SimdFeatures in '..\..\HashLib\src\Utils\HlpX86SimdFeatures.pas', - HlpArmSimdFeatures in '..\..\HashLib\src\Utils\HlpArmSimdFeatures.pas', - HlpSimdLevels in '..\..\HashLib\src\Utils\HlpSimdLevels.pas', - HlpHashLibTypes in '..\..\HashLib\src\Utils\HlpHashLibTypes.pas', + HlpConverters in '..\..\HashLib\src\Misc\HlpConverters.pas', + HlpBitOperations in '..\..\HashLib\src\Misc\HlpBitOperations.pas', + HlpBinaryPrimitives in '..\..\HashLib\src\Misc\HlpBinaryPrimitives.pas', + HlpCpuFeatures in '..\..\HashLib\src\Misc\HlpCpuFeatures.pas', + HlpX86SimdFeatures in '..\..\HashLib\src\Misc\HlpX86SimdFeatures.pas', + HlpArmSimdFeatures in '..\..\HashLib\src\Misc\HlpArmSimdFeatures.pas', + HlpSimdLevels in '..\..\HashLib\src\Misc\HlpSimdLevels.pas', + HlpHashLibExceptions in '..\..\HashLib\src\Misc\HlpHashLibExceptions.pas', + HlpHashLibTypes in '..\..\HashLib\src\Misc\HlpHashLibTypes.pas', HlpArrayUtils in '..\..\HashLib\src\Utils\HlpArrayUtils.pas'; {$R *.res} diff --git a/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dpr b/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dpr index 122693ca..a3c2157a 100644 --- a/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dpr +++ b/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dpr @@ -142,16 +142,17 @@ uses HlpScryptSimd in '..\..\HashLib\src\Simd\Facade\HlpScryptSimd.pas', HlpScryptX86Backend in '..\..\HashLib\src\Simd\Backend\HlpScryptX86Backend.pas', HlpScryptArmBackend in '..\..\HashLib\src\Simd\Backend\HlpScryptArmBackend.pas', - HlpConverters in '..\..\HashLib\src\Utils\HlpConverters.pas', - HlpBitOperations in '..\..\HashLib\src\Utils\HlpBitOperations.pas', - HlpBinaryPrimitives in '..\..\HashLib\src\Utils\HlpBinaryPrimitives.pas', - HlpCpuFeatures in '..\..\HashLib\src\Utils\HlpCpuFeatures.pas', - HlpX86SimdFeatures in '..\..\HashLib\src\Utils\HlpX86SimdFeatures.pas', - HlpArmSimdFeatures in '..\..\HashLib\src\Utils\HlpArmSimdFeatures.pas', - HlpSimdLevels in '..\..\HashLib\src\Utils\HlpSimdLevels.pas', - HlpArmHwCapProvider in '..\..\HashLib\src\Utils\HlpArmHwCapProvider.pas', - HlpDarwinSysCtl in '..\..\HashLib\src\Utils\HlpDarwinSysCtl.pas', - HlpHashLibTypes in '..\..\HashLib\src\Utils\HlpHashLibTypes.pas', + HlpConverters in '..\..\HashLib\src\Misc\HlpConverters.pas', + HlpBitOperations in '..\..\HashLib\src\Misc\HlpBitOperations.pas', + HlpBinaryPrimitives in '..\..\HashLib\src\Misc\HlpBinaryPrimitives.pas', + HlpCpuFeatures in '..\..\HashLib\src\Misc\HlpCpuFeatures.pas', + HlpX86SimdFeatures in '..\..\HashLib\src\Misc\HlpX86SimdFeatures.pas', + HlpArmSimdFeatures in '..\..\HashLib\src\Misc\HlpArmSimdFeatures.pas', + HlpSimdLevels in '..\..\HashLib\src\Misc\HlpSimdLevels.pas', + HlpArmHwCapProvider in '..\..\HashLib\src\Misc\HlpArmHwCapProvider.pas', + HlpDarwinSysCtl in '..\..\HashLib\src\Misc\HlpDarwinSysCtl.pas', + HlpHashLibExceptions in '..\..\HashLib\src\Misc\HlpHashLibExceptions.pas', + HlpHashLibTypes in '..\..\HashLib\src\Misc\HlpHashLibTypes.pas', HlpArrayUtils in '..\..\HashLib\src\Utils\HlpArrayUtils.pas', HashLibTestBase in '..\src\HashLibTestBase.pas', HashLibTestResourceLoader in '..\src\Utils\HashLibTestResourceLoader.pas', diff --git a/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dproj b/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dproj index 302935a4..ac0a5f98 100644 --- a/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dproj +++ b/HashLib.Tests/Delphi.Tests/HashLib.Tests.Mobile.dproj @@ -482,16 +482,17 @@ - - - - - - - - - - + + + + + + + + + + + diff --git a/HashLib.Tests/Delphi.Tests/HashLib.Tests.dpr b/HashLib.Tests/Delphi.Tests/HashLib.Tests.dpr index f6f545b3..40d36a61 100644 --- a/HashLib.Tests/Delphi.Tests/HashLib.Tests.dpr +++ b/HashLib.Tests/Delphi.Tests/HashLib.Tests.dpr @@ -159,16 +159,17 @@ uses HlpScryptSimd in '..\..\HashLib\src\Simd\Facade\HlpScryptSimd.pas', HlpScryptX86Backend in '..\..\HashLib\src\Simd\Backend\HlpScryptX86Backend.pas', HlpScryptArmBackend in '..\..\HashLib\src\Simd\Backend\HlpScryptArmBackend.pas', - HlpConverters in '..\..\HashLib\src\Utils\HlpConverters.pas', - HlpBitOperations in '..\..\HashLib\src\Utils\HlpBitOperations.pas', - HlpBinaryPrimitives in '..\..\HashLib\src\Utils\HlpBinaryPrimitives.pas', - HlpCpuFeatures in '..\..\HashLib\src\Utils\HlpCpuFeatures.pas', - HlpX86SimdFeatures in '..\..\HashLib\src\Utils\HlpX86SimdFeatures.pas', - HlpArmSimdFeatures in '..\..\HashLib\src\Utils\HlpArmSimdFeatures.pas', - HlpSimdLevels in '..\..\HashLib\src\Utils\HlpSimdLevels.pas', - HlpArmHwCapProvider in '..\..\HashLib\src\Utils\HlpArmHwCapProvider.pas', - HlpDarwinSysCtl in '..\..\HashLib\src\Utils\HlpDarwinSysCtl.pas', - HlpHashLibTypes in '..\..\HashLib\src\Utils\HlpHashLibTypes.pas', + HlpConverters in '..\..\HashLib\src\Misc\HlpConverters.pas', + HlpBitOperations in '..\..\HashLib\src\Misc\HlpBitOperations.pas', + HlpBinaryPrimitives in '..\..\HashLib\src\Misc\HlpBinaryPrimitives.pas', + HlpCpuFeatures in '..\..\HashLib\src\Misc\HlpCpuFeatures.pas', + HlpX86SimdFeatures in '..\..\HashLib\src\Misc\HlpX86SimdFeatures.pas', + HlpArmSimdFeatures in '..\..\HashLib\src\Misc\HlpArmSimdFeatures.pas', + HlpSimdLevels in '..\..\HashLib\src\Misc\HlpSimdLevels.pas', + HlpArmHwCapProvider in '..\..\HashLib\src\Misc\HlpArmHwCapProvider.pas', + HlpDarwinSysCtl in '..\..\HashLib\src\Misc\HlpDarwinSysCtl.pas', + HlpHashLibExceptions in '..\..\HashLib\src\Misc\HlpHashLibExceptions.pas', + HlpHashLibTypes in '..\..\HashLib\src\Misc\HlpHashLibTypes.pas', HlpArrayUtils in '..\..\HashLib\src\Utils\HlpArrayUtils.pas', HashLibTestBase in '..\src\HashLibTestBase.pas', HashLibTestResourceLoader in '..\src\Utils\HashLibTestResourceLoader.pas', diff --git a/HashLib.Tests/src/HashLibTestBase.pas b/HashLib.Tests/src/HashLibTestBase.pas index d544364e..c945df2c 100644 --- a/HashLib.Tests/src/HashLibTestBase.pas +++ b/HashLib.Tests/src/HashLibTestBase.pas @@ -21,6 +21,7 @@ interface HlpConverters, HlpBinaryPrimitives, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; {$IFDEF FPC} diff --git a/HashLib.Tests/src/PBKDF_ScryptTests.pas b/HashLib.Tests/src/PBKDF_ScryptTests.pas index 0ed058f7..384a4e6c 100644 --- a/HashLib.Tests/src/PBKDF_ScryptTests.pas +++ b/HashLib.Tests/src/PBKDF_ScryptTests.pas @@ -18,6 +18,7 @@ interface HlpHashFactory, HlpConverters, HlpHashLibTypes, + HlpHashLibExceptions, HashLibTestBase, ScryptVectors; diff --git a/HashLib/src/Base/HlpHash.pas b/HashLib/src/Base/HlpHash.pas index d59864f3..a7b151ae 100644 --- a/HashLib/src/Base/HlpHash.pas +++ b/HashLib/src/Base/HlpHash.pas @@ -8,6 +8,7 @@ interface Classes, SysUtils, HlpHashLibTypes, + HlpHashLibExceptions, HlpConverters, HlpIHash, HlpIHashResult; diff --git a/HashLib/src/Base/HlpHashFactory.pas b/HashLib/src/Base/HlpHashFactory.pas index 3cacc5ce..e2b3e79f 100644 --- a/HashLib/src/Base/HlpHashFactory.pas +++ b/HashLib/src/Base/HlpHashFactory.pas @@ -10,6 +10,7 @@ interface HlpIHash, HlpIHashInfo, HlpHashLibTypes, + HlpHashLibExceptions, // NullDigest Unit // HlpNullDigest, // Checksum Unit // diff --git a/HashLib/src/Base/HlpHashResult.pas b/HashLib/src/Base/HlpHashResult.pas index 22f331e1..9af23698 100644 --- a/HashLib/src/Base/HlpHashResult.pas +++ b/HashLib/src/Base/HlpHashResult.pas @@ -9,6 +9,7 @@ interface HlpBinaryPrimitives, HlpBitOperations, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHashResult, HlpConverters, HlpArrayUtils; diff --git a/HashLib/src/Base/HlpKDF.pas b/HashLib/src/Base/HlpKDF.pas index f81a6e54..95819264 100644 --- a/HashLib/src/Base/HlpKDF.pas +++ b/HashLib/src/Base/HlpKDF.pas @@ -6,6 +6,7 @@ interface uses HlpIKDF, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/Checksum/HlpCRC.pas b/HashLib/src/Checksum/HlpCRC.pas index 9149fefa..5e58c2ef 100644 --- a/HashLib/src/Checksum/HlpCRC.pas +++ b/HashLib/src/Checksum/HlpCRC.pas @@ -20,6 +20,7 @@ interface SyncObjs, Generics.Collections, HlpHashLibTypes, + HlpHashLibExceptions, HlpHash, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Crypto/Blake2BParams/HlpBlake2BParams.pas b/HashLib/src/Crypto/Blake2BParams/HlpBlake2BParams.pas index 79479d96..7b6c756f 100644 --- a/HashLib/src/Crypto/Blake2BParams/HlpBlake2BParams.pas +++ b/HashLib/src/Crypto/Blake2BParams/HlpBlake2BParams.pas @@ -9,6 +9,7 @@ interface HlpIBlake2BParams, HlpHashSize, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; resourcestring diff --git a/HashLib/src/Crypto/Blake2SParams/HlpBlake2SParams.pas b/HashLib/src/Crypto/Blake2SParams/HlpBlake2SParams.pas index 3f25d4a5..c0cbfb2b 100644 --- a/HashLib/src/Crypto/Blake2SParams/HlpBlake2SParams.pas +++ b/HashLib/src/Crypto/Blake2SParams/HlpBlake2SParams.pas @@ -9,6 +9,7 @@ interface HlpIBlake2SParams, HlpHashSize, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; resourcestring diff --git a/HashLib/src/Crypto/HlpBlake2B.pas b/HashLib/src/Crypto/HlpBlake2B.pas index 7bc4d730..31b85c69 100644 --- a/HashLib/src/Crypto/HlpBlake2B.pas +++ b/HashLib/src/Crypto/HlpBlake2B.pas @@ -16,6 +16,7 @@ interface HlpIHash, HlpIHashInfo, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/Crypto/HlpBlake2S.pas b/HashLib/src/Crypto/HlpBlake2S.pas index b5e71c9f..939294a8 100644 --- a/HashLib/src/Crypto/HlpBlake2S.pas +++ b/HashLib/src/Crypto/HlpBlake2S.pas @@ -16,6 +16,7 @@ interface HlpIHash, HlpIHashInfo, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/Crypto/HlpBlake3.pas b/HashLib/src/Crypto/HlpBlake3.pas index a37a8ac8..ffca7388 100644 --- a/HashLib/src/Crypto/HlpBlake3.pas +++ b/HashLib/src/Crypto/HlpBlake3.pas @@ -15,6 +15,7 @@ interface HlpIHashInfo, HlpHashSize, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/Crypto/HlpSHA3.pas b/HashLib/src/Crypto/HlpSHA3.pas index c23687ef..f8daaf1d 100644 --- a/HashLib/src/Crypto/HlpSHA3.pas +++ b/HashLib/src/Crypto/HlpSHA3.pas @@ -16,6 +16,7 @@ interface HlpConverters, HlpHashSize, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/Crypto/HlpSnefru.pas b/HashLib/src/Crypto/HlpSnefru.pas index 30e1c842..debe97ea 100644 --- a/HashLib/src/Crypto/HlpSnefru.pas +++ b/HashLib/src/Crypto/HlpSnefru.pas @@ -8,6 +8,7 @@ interface SysUtils, HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpBitOperations, HlpHashSize, HlpIHash, diff --git a/HashLib/src/Crypto/HlpTiger.pas b/HashLib/src/Crypto/HlpTiger.pas index c0c9bd61..83fbcc74 100644 --- a/HashLib/src/Crypto/HlpTiger.pas +++ b/HashLib/src/Crypto/HlpTiger.pas @@ -8,6 +8,7 @@ interface HlpBinaryPrimitives, SysUtils, HlpHashLibTypes, + HlpHashLibExceptions, HlpHashRounds, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Crypto/HlpTiger2.pas b/HashLib/src/Crypto/HlpTiger2.pas index 345519c8..c263f0b8 100644 --- a/HashLib/src/Crypto/HlpTiger2.pas +++ b/HashLib/src/Crypto/HlpTiger2.pas @@ -8,6 +8,7 @@ interface HlpBinaryPrimitives, SysUtils, HlpHashLibTypes, + HlpHashLibExceptions, HlpHashRounds, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Hash128/HlpMurmurHash3_x64_128.pas b/HashLib/src/Hash128/HlpMurmurHash3_x64_128.pas index cc12ad85..e105ef0e 100644 --- a/HashLib/src/Hash128/HlpMurmurHash3_x64_128.pas +++ b/HashLib/src/Hash128/HlpMurmurHash3_x64_128.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHashInfo, HlpHash, HlpIHash, diff --git a/HashLib/src/Hash128/HlpMurmurHash3_x86_128.pas b/HashLib/src/Hash128/HlpMurmurHash3_x86_128.pas index fa09f5d2..09efdc8b 100644 --- a/HashLib/src/Hash128/HlpMurmurHash3_x86_128.pas +++ b/HashLib/src/Hash128/HlpMurmurHash3_x86_128.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHashInfo, HlpHash, HlpIHash, diff --git a/HashLib/src/Hash128/HlpXXHash128.pas b/HashLib/src/Hash128/HlpXXHash128.pas index b69d3d67..b324ba0b 100644 --- a/HashLib/src/Hash128/HlpXXHash128.pas +++ b/HashLib/src/Hash128/HlpXXHash128.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpHash, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Hash32/HlpMurmur2.pas b/HashLib/src/Hash32/HlpMurmur2.pas index 27aa37b1..9aabfa5b 100644 --- a/HashLib/src/Hash32/HlpMurmur2.pas +++ b/HashLib/src/Hash32/HlpMurmur2.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHash, HlpIHashInfo, HlpHashResult, diff --git a/HashLib/src/Hash32/HlpMurmurHash3_x86_32.pas b/HashLib/src/Hash32/HlpMurmurHash3_x86_32.pas index ea1f1233..1535bab6 100644 --- a/HashLib/src/Hash32/HlpMurmurHash3_x86_32.pas +++ b/HashLib/src/Hash32/HlpMurmurHash3_x86_32.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHashInfo, HlpHash, HlpIHash, diff --git a/HashLib/src/Hash32/HlpXXHash32.pas b/HashLib/src/Hash32/HlpXXHash32.pas index 56d62d5a..7fa10bf3 100644 --- a/HashLib/src/Hash32/HlpXXHash32.pas +++ b/HashLib/src/Hash32/HlpXXHash32.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpHash, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Hash64/HlpMurmur2_64.pas b/HashLib/src/Hash64/HlpMurmur2_64.pas index 8ffcddfd..971aaa43 100644 --- a/HashLib/src/Hash64/HlpMurmur2_64.pas +++ b/HashLib/src/Hash64/HlpMurmur2_64.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHash, HlpIHashInfo, HlpHashResult, diff --git a/HashLib/src/Hash64/HlpSipHash.pas b/HashLib/src/Hash64/HlpSipHash.pas index 7916f978..c53d914e 100644 --- a/HashLib/src/Hash64/HlpSipHash.pas +++ b/HashLib/src/Hash64/HlpSipHash.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpIHashInfo, HlpHash, HlpIHash, diff --git a/HashLib/src/Hash64/HlpXXHash3.pas b/HashLib/src/Hash64/HlpXXHash3.pas index b6ca698c..1d5dfe4d 100644 --- a/HashLib/src/Hash64/HlpXXHash3.pas +++ b/HashLib/src/Hash64/HlpXXHash3.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpHash, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Hash64/HlpXXHash64.pas b/HashLib/src/Hash64/HlpXXHash64.pas index a79671df..3479f1be 100644 --- a/HashLib/src/Hash64/HlpXXHash64.pas +++ b/HashLib/src/Hash64/HlpXXHash64.pas @@ -7,6 +7,7 @@ interface uses HlpBinaryPrimitives, HlpHashLibTypes, + HlpHashLibExceptions, HlpHash, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Interfaces/HlpIKDF.pas b/HashLib/src/Interfaces/HlpIKDF.pas index dddc950e..9495d162 100644 --- a/HashLib/src/Interfaces/HlpIKDF.pas +++ b/HashLib/src/Interfaces/HlpIKDF.pas @@ -5,6 +5,7 @@ interface uses + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/KDF/HlpPBKDF2_HMACNotBuildInAdapter.pas b/HashLib/src/KDF/HlpPBKDF2_HMACNotBuildInAdapter.pas index f3861e85..d9f2721a 100644 --- a/HashLib/src/KDF/HlpPBKDF2_HMACNotBuildInAdapter.pas +++ b/HashLib/src/KDF/HlpPBKDF2_HMACNotBuildInAdapter.pas @@ -11,6 +11,7 @@ interface HlpIHashInfo, HlpHMACNotBuildInAdapter, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; resourcestring diff --git a/HashLib/src/KDF/HlpPBKDF_Argon2NotBuildInAdapter.pas b/HashLib/src/KDF/HlpPBKDF_Argon2NotBuildInAdapter.pas index becd82c3..3f76c74c 100644 --- a/HashLib/src/KDF/HlpPBKDF_Argon2NotBuildInAdapter.pas +++ b/HashLib/src/KDF/HlpPBKDF_Argon2NotBuildInAdapter.pas @@ -19,6 +19,7 @@ interface HlpBinaryPrimitives, HlpArgon2TypeAndVersion, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/KDF/HlpPBKDF_ScryptNotBuildInAdapter.pas b/HashLib/src/KDF/HlpPBKDF_ScryptNotBuildInAdapter.pas index 997cda31..c9dc9eea 100644 --- a/HashLib/src/KDF/HlpPBKDF_ScryptNotBuildInAdapter.pas +++ b/HashLib/src/KDF/HlpPBKDF_ScryptNotBuildInAdapter.pas @@ -16,6 +16,7 @@ interface HlpBinaryPrimitives, HlpPBKDF2_HMACNotBuildInAdapter, HlpArrayUtils, + HlpHashLibExceptions, HlpHashLibTypes; type diff --git a/HashLib/src/Utils/HlpArmHwCapProvider.pas b/HashLib/src/Misc/HlpArmHwCapProvider.pas similarity index 100% rename from HashLib/src/Utils/HlpArmHwCapProvider.pas rename to HashLib/src/Misc/HlpArmHwCapProvider.pas diff --git a/HashLib/src/Utils/HlpArmSimdFeatures.pas b/HashLib/src/Misc/HlpArmSimdFeatures.pas similarity index 100% rename from HashLib/src/Utils/HlpArmSimdFeatures.pas rename to HashLib/src/Misc/HlpArmSimdFeatures.pas diff --git a/HashLib/src/Utils/HlpBinaryPrimitives.pas b/HashLib/src/Misc/HlpBinaryPrimitives.pas similarity index 100% rename from HashLib/src/Utils/HlpBinaryPrimitives.pas rename to HashLib/src/Misc/HlpBinaryPrimitives.pas diff --git a/HashLib/src/Utils/HlpBitOperations.pas b/HashLib/src/Misc/HlpBitOperations.pas similarity index 100% rename from HashLib/src/Utils/HlpBitOperations.pas rename to HashLib/src/Misc/HlpBitOperations.pas diff --git a/HashLib/src/Utils/HlpConverters.pas b/HashLib/src/Misc/HlpConverters.pas similarity index 99% rename from HashLib/src/Utils/HlpConverters.pas rename to HashLib/src/Misc/HlpConverters.pas index 40f8216f..e11a56d5 100644 --- a/HashLib/src/Utils/HlpConverters.pas +++ b/HashLib/src/Misc/HlpConverters.pas @@ -10,6 +10,7 @@ interface {$ENDIF} Classes, SysUtils, + HlpHashLibExceptions, HlpHashLibTypes; resourcestring diff --git a/HashLib/src/Utils/HlpCpuFeatures.pas b/HashLib/src/Misc/HlpCpuFeatures.pas similarity index 100% rename from HashLib/src/Utils/HlpCpuFeatures.pas rename to HashLib/src/Misc/HlpCpuFeatures.pas diff --git a/HashLib/src/Utils/HlpDarwinSysCtl.pas b/HashLib/src/Misc/HlpDarwinSysCtl.pas similarity index 100% rename from HashLib/src/Utils/HlpDarwinSysCtl.pas rename to HashLib/src/Misc/HlpDarwinSysCtl.pas diff --git a/HashLib/src/Misc/HlpHashLibExceptions.pas b/HashLib/src/Misc/HlpHashLibExceptions.pas new file mode 100644 index 00000000..604ed72a --- /dev/null +++ b/HashLib/src/Misc/HlpHashLibExceptions.pas @@ -0,0 +1,24 @@ +unit HlpHashLibExceptions; + +{$I ..\Include\HashLib.inc} + +interface + +uses + SysUtils; + +type + EHashLibException = class(Exception); + EInvalidOperationHashLibException = class(EHashLibException); + EIndexOutOfRangeHashLibException = class(EHashLibException); + EArgumentHashLibException = class(EHashLibException); + EArgumentInvalidHashLibException = class(EHashLibException); + EArgumentNilHashLibException = class(EHashLibException); + EArgumentOutOfRangeHashLibException = class(EHashLibException); + ENullReferenceHashLibException = class(EHashLibException); + ENotImplementedHashLibException = class(EHashLibException); + EUnsupportedTypeHashLibException = class(EHashLibException); + +implementation + +end. diff --git a/HashLib/src/Utils/HlpHashLibTypes.pas b/HashLib/src/Misc/HlpHashLibTypes.pas similarity index 71% rename from HashLib/src/Utils/HlpHashLibTypes.pas rename to HashLib/src/Misc/HlpHashLibTypes.pas index 89111dca..dd14882e 100644 --- a/HashLib/src/Utils/HlpHashLibTypes.pas +++ b/HashLib/src/Misc/HlpHashLibTypes.pas @@ -1,88 +1,78 @@ -unit HlpHashLibTypes; - -{$I ..\Include\HashLib.inc} - -interface - -uses - SysUtils; - -type - -{$IFDEF FPC} - PUInt64 = ^UInt64; -{$ENDIF FPC} - EHashLibException = class(Exception); - EInvalidOperationHashLibException = class(EHashLibException); - EIndexOutOfRangeHashLibException = class(EHashLibException); - EArgumentHashLibException = class(EHashLibException); - EArgumentInvalidHashLibException = class(EHashLibException); - EArgumentNilHashLibException = class(EHashLibException); - EArgumentOutOfRangeHashLibException = class(EHashLibException); - ENullReferenceHashLibException = class(EHashLibException); - ENotImplementedHashLibException = class(EHashLibException); - EUnsupportedTypeHashLibException = class(EHashLibException); - - /// - /// Represents a dynamic array of Byte. - /// - THashLibByteArray = TBytes; - - /// - /// Represents a dynamic generic array of Type T. - /// - THashLibGenericArray = array of T; - - /// - /// Represents a dynamic generic array of array of Type T. - /// - THashLibMatrixGenericArray = array of THashLibGenericArray; - - /// - /// Represents a dynamic array of UInt32. - /// - THashLibUInt32Array = array of UInt32; - - /// - /// Represents a dynamic array of UInt64. - /// - THashLibUInt64Array = array of UInt64; - - /// - /// Represents a dynamic array of String. - /// - THashLibStringArray = array of String; - - /// - /// Represents a dynamic array of Char. - /// - THashLibCharArray = array of Char; - - /// - /// Represents a dynamic array of array of Byte. - /// - THashLibMatrixByteArray = array of THashLibByteArray; - - /// - /// Represents a dynamic array of array of UInt32. - /// - THashLibMatrixUInt32Array = array of THashLibUInt32Array; - - /// - /// Represents a dynamic array of array of UInt64. - /// - THashLibMatrixUInt64Array = array of THashLibUInt64Array; - -implementation - -{$IFDEF FPC} - -initialization - -// Set UTF-8 in AnsiStrings, just like Lazarus -SetMultiByteConversionCodePage(CP_UTF8); -// SetMultiByteFileSystemCodePage(CP_UTF8); not needed, this is the default under Windows -SetMultiByteRTLFileSystemCodePage(CP_UTF8); -{$ENDIF FPC} - -end. +unit HlpHashLibTypes; + +{$I ..\Include\HashLib.inc} + +interface + +uses + SysUtils; + +type + +{$IFDEF FPC} + PUInt64 = ^UInt64; +{$ENDIF FPC} + + /// + /// Represents a dynamic array of Byte. + /// + THashLibByteArray = TBytes; + + /// + /// Represents a dynamic generic array of Type T. + /// + THashLibGenericArray = array of T; + + /// + /// Represents a dynamic generic array of array of Type T. + /// + THashLibMatrixGenericArray = array of THashLibGenericArray; + + /// + /// Represents a dynamic array of UInt32. + /// + THashLibUInt32Array = array of UInt32; + + /// + /// Represents a dynamic array of UInt64. + /// + THashLibUInt64Array = array of UInt64; + + /// + /// Represents a dynamic array of String. + /// + THashLibStringArray = array of String; + + /// + /// Represents a dynamic array of Char. + /// + THashLibCharArray = array of Char; + + /// + /// Represents a dynamic array of array of Byte. + /// + THashLibMatrixByteArray = array of THashLibByteArray; + + /// + /// Represents a dynamic array of array of UInt32. + /// + THashLibMatrixUInt32Array = array of THashLibUInt32Array; + + /// + /// Represents a dynamic array of array of UInt64. + /// + THashLibMatrixUInt64Array = array of THashLibUInt64Array; + +implementation + +{$IFDEF FPC} + +initialization + +// Set UTF-8 in AnsiStrings, just like Lazarus +SetMultiByteConversionCodePage(CP_UTF8); +// SetMultiByteFileSystemCodePage(CP_UTF8); not needed, this is the default under Windows +SetMultiByteRTLFileSystemCodePage(CP_UTF8); +{$ENDIF FPC} + +end. diff --git a/HashLib/src/Utils/HlpSimdLevels.pas b/HashLib/src/Misc/HlpSimdLevels.pas similarity index 100% rename from HashLib/src/Utils/HlpSimdLevels.pas rename to HashLib/src/Misc/HlpSimdLevels.pas diff --git a/HashLib/src/Utils/HlpX86SimdFeatures.pas b/HashLib/src/Misc/HlpX86SimdFeatures.pas similarity index 100% rename from HashLib/src/Utils/HlpX86SimdFeatures.pas rename to HashLib/src/Misc/HlpX86SimdFeatures.pas diff --git a/HashLib/src/NullDigest/HlpNullDigest.pas b/HashLib/src/NullDigest/HlpNullDigest.pas index 2f19427c..0c4212e6 100644 --- a/HashLib/src/NullDigest/HlpNullDigest.pas +++ b/HashLib/src/NullDigest/HlpNullDigest.pas @@ -8,6 +8,7 @@ interface Classes, SysUtils, HlpHashLibTypes, + HlpHashLibExceptions, HlpHash, HlpIHash, HlpIHashInfo, diff --git a/HashLib/src/Packages/Delphi/HashLib4PascalPackage.dpk b/HashLib/src/Packages/Delphi/HashLib4PascalPackage.dpk index 96126128..02c43b4e 100644 --- a/HashLib/src/Packages/Delphi/HashLib4PascalPackage.dpk +++ b/HashLib/src/Packages/Delphi/HashLib4PascalPackage.dpk @@ -167,16 +167,17 @@ contains HlpScryptSimd in '..\..\Simd\Facade\HlpScryptSimd.pas', HlpScryptX86Backend in '..\..\Simd\Backend\HlpScryptX86Backend.pas', HlpScryptArmBackend in '..\..\Simd\Backend\HlpScryptArmBackend.pas', - HlpConverters in '..\..\Utils\HlpConverters.pas', - HlpBitOperations in '..\..\Utils\HlpBitOperations.pas', - HlpBinaryPrimitives in '..\..\Utils\HlpBinaryPrimitives.pas', - HlpCpuFeatures in '..\..\Utils\HlpCpuFeatures.pas', - HlpX86SimdFeatures in '..\..\Utils\HlpX86SimdFeatures.pas', - HlpArmSimdFeatures in '..\..\Utils\HlpArmSimdFeatures.pas', - HlpSimdLevels in '..\..\Utils\HlpSimdLevels.pas', - HlpArmHwCapProvider in '..\..\Utils\HlpArmHwCapProvider.pas', - HlpDarwinSysCtl in '..\..\Utils\HlpDarwinSysCtl.pas', - HlpHashLibTypes in '..\..\Utils\HlpHashLibTypes.pas', + HlpConverters in '..\..\Misc\HlpConverters.pas', + HlpBitOperations in '..\..\Misc\HlpBitOperations.pas', + HlpBinaryPrimitives in '..\..\Misc\HlpBinaryPrimitives.pas', + HlpCpuFeatures in '..\..\Misc\HlpCpuFeatures.pas', + HlpX86SimdFeatures in '..\..\Misc\HlpX86SimdFeatures.pas', + HlpArmSimdFeatures in '..\..\Misc\HlpArmSimdFeatures.pas', + HlpSimdLevels in '..\..\Misc\HlpSimdLevels.pas', + HlpArmHwCapProvider in '..\..\Misc\HlpArmHwCapProvider.pas', + HlpDarwinSysCtl in '..\..\Misc\HlpDarwinSysCtl.pas', + HlpHashLibExceptions in '..\..\Misc\HlpHashLibExceptions.pas', + HlpHashLibTypes in '..\..\Misc\HlpHashLibTypes.pas', HlpArrayUtils in '..\..\Utils\HlpArrayUtils.pas'; end. diff --git a/HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk b/HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk index 4b6d6e78..d7a72384 100644 --- a/HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk +++ b/HashLib/src/Packages/FPC/HashLib4PascalPackage.lpk @@ -10,7 +10,7 @@ - + @@ -29,7 +29,7 @@ "/> - + @@ -335,19 +335,19 @@ - + - + - + - + @@ -439,7 +439,7 @@ - + @@ -491,23 +491,23 @@ - + - + - + - + - + @@ -610,6 +610,10 @@ + + + + diff --git a/HashLib/src/Packages/FPC/HashLib4PascalPackage.pas b/HashLib/src/Packages/FPC/HashLib4PascalPackage.pas index 26608075..33ed8780 100644 --- a/HashLib/src/Packages/FPC/HashLib4PascalPackage.pas +++ b/HashLib/src/Packages/FPC/HashLib4PascalPackage.pas @@ -10,38 +10,37 @@ interface uses HlpHash, HlpHashBuffer, HlpHashCryptoNotBuildIn, HlpHashFactory, HlpHashResult, HlpHashRounds, HlpHashSize, HlpHMACNotBuildInAdapter, - HlpMultipleTransformNonBlock, HlpAdler32, HlpCRC, HlpGost, - HlpGrindahl256, HlpGrindahl512, HlpHAS160, HlpHaval, HlpMD2, HlpMD4, HlpMD5, - HlpMDBase, HlpPanama, HlpRadioGatun32, HlpRadioGatun64, HlpRIPEMD, - HlpRIPEMD128, HlpRIPEMD160, HlpRIPEMD256, HlpRIPEMD320, HlpSHA0, HlpSHA1, - HlpSHA2_224, HlpSHA2_256, HlpSHA2_256Base, HlpSHA2_384, HlpSHA2_512, - HlpSHA2_512Base, HlpSHA2_512_224, HlpSHA2_512_256, HlpSHA3, HlpSnefru, - HlpTiger, HlpTiger2, HlpWhirlPool, HlpMurmurHash3_x64_128, HlpNullDigest, - HlpAP, HlpBernstein, HlpBernstein1, HlpBKDR, HlpDEK, HlpDJB, HlpELF, HlpFNV, - HlpFNV1a, HlpJenkins3, HlpJS, HlpMurmur2, HlpMurmurHash3_x86_32, - HlpOneAtTime, HlpPJW, HlpRotating, HlpRS, HlpSDBM, HlpShiftAndXor, - HlpSuperFast, HlpXXHash32, HlpFNV1a64, HlpFNV64, HlpMurmur2_64, HlpSipHash, - HlpXXHash64, HlpIHash, HlpIHashInfo, HlpIHashResult, HlpConverters, - HlpBitOperations, HlpBinaryPrimitives, HlpHashLibTypes, - HlpMurmurHash3_x86_128, HlpPBKDF2_HMACNotBuildInAdapter, HlpIKDF, HlpKDF, - HlpICRC, HlpBlake2B, HlpBlake2S, HlpGOST3411_2012, - HlpArgon2TypeAndVersion, HlpPBKDF_Argon2NotBuildInAdapter, - HlpPBKDF_ScryptNotBuildInAdapter, HlpArrayUtils, HlpBlake2BP, HlpBlake2SP, - HlpSipHash128, HlpBlake2SParams, HlpBlake2BParams, HlpIBlake2SParams, - HlpIBlake2BParams, HlpBlake3, HlpXXHash3, HlpXXHash128, HlpCpuFeatures, - HlpXXHash3Simd, HlpBlake2BSimd, HlpBlake2SSimd, HlpArgon2Simd, - HlpScryptSimd, HlpBlake3Simd, HlpSHA2_256Simd, HlpSHA2_512Simd, HlpSHA1Simd, - HlpAdler32Simd, HlpCRCCore, HlpSHA3Simd, - HlpArmSimdFeatures, HlpSimdLevels, HlpX86SimdFeatures, HlpArmHwCapProvider, - HlpDarwinSysCtl, HlpSHA2_256X86Backend, HlpSHA2_256ArmBackend, - HlpSHA1X86Backend, HlpSHA1ArmBackend, HlpSHA2_512X86Backend, - HlpSHA2_512ArmBackend, HlpSHA3X86Backend, HlpSHA3ArmBackend, - HlpBlake2BX86Backend, HlpBlake2BArmBackend, HlpBlake2SX86Backend, - HlpBlake2SArmBackend, HlpBlake3X86Backend, HlpBlake3ArmBackend, - HlpXXHash3X86Backend, HlpXXHash3ArmBackend, HlpAdler32X86Backend, - HlpAdler32ArmBackend, HlpArgon2X86Backend, HlpArgon2ArmBackend, - HlpScryptX86Backend, HlpScryptArmBackend, HlpCRCSimd, HlpCRCX86Backend, - HlpCRCArmBackend; + HlpMultipleTransformNonBlock, HlpAdler32, HlpCRC, HlpGost, HlpGrindahl256, + HlpGrindahl512, HlpHAS160, HlpHaval, HlpMD2, HlpMD4, HlpMD5, HlpMDBase, + HlpPanama, HlpRadioGatun32, HlpRadioGatun64, HlpRIPEMD, HlpRIPEMD128, + HlpRIPEMD160, HlpRIPEMD256, HlpRIPEMD320, HlpSHA0, HlpSHA1, HlpSHA2_224, + HlpSHA2_256, HlpSHA2_256Base, HlpSHA2_384, HlpSHA2_512, HlpSHA2_512Base, + HlpSHA2_512_224, HlpSHA2_512_256, HlpSHA3, HlpSnefru, HlpTiger, HlpTiger2, + HlpWhirlPool, HlpMurmurHash3_x64_128, HlpNullDigest, HlpAP, HlpBernstein, + HlpBernstein1, HlpBKDR, HlpDEK, HlpDJB, HlpELF, HlpFNV, HlpFNV1a, + HlpJenkins3, HlpJS, HlpMurmur2, HlpMurmurHash3_x86_32, HlpOneAtTime, HlpPJW, + HlpRotating, HlpRS, HlpSDBM, HlpShiftAndXor, HlpSuperFast, HlpXXHash32, + HlpFNV1a64, HlpFNV64, HlpMurmur2_64, HlpSipHash, HlpXXHash64, HlpIHash, + HlpIHashInfo, HlpIHashResult, HlpConverters, HlpBitOperations, + HlpBinaryPrimitives, HlpHashLibTypes, HlpMurmurHash3_x86_128, + HlpPBKDF2_HMACNotBuildInAdapter, HlpIKDF, HlpKDF, HlpICRC, HlpBlake2B, + HlpBlake2S, HlpGOST3411_2012, HlpArgon2TypeAndVersion, + HlpPBKDF_Argon2NotBuildInAdapter, HlpPBKDF_ScryptNotBuildInAdapter, + HlpArrayUtils, HlpBlake2BP, HlpBlake2SP, HlpSipHash128, HlpBlake2SParams, + HlpBlake2BParams, HlpIBlake2SParams, HlpIBlake2BParams, HlpBlake3, + HlpXXHash3, HlpXXHash128, HlpCpuFeatures, HlpXXHash3Simd, HlpBlake2BSimd, + HlpBlake2SSimd, HlpArgon2Simd, HlpScryptSimd, HlpBlake3Simd, + HlpSHA2_256Simd, HlpSHA2_512Simd, HlpSHA1Simd, HlpAdler32Simd, HlpCRCCore, + HlpSHA3Simd, HlpArmSimdFeatures, HlpSimdLevels, HlpX86SimdFeatures, + HlpArmHwCapProvider, HlpDarwinSysCtl, HlpSHA2_256X86Backend, + HlpSHA2_256ArmBackend, HlpSHA1X86Backend, HlpSHA1ArmBackend, + HlpSHA2_512X86Backend, HlpSHA2_512ArmBackend, HlpSHA3X86Backend, + HlpSHA3ArmBackend, HlpBlake2BX86Backend, HlpBlake2BArmBackend, + HlpBlake2SX86Backend, HlpBlake2SArmBackend, HlpBlake3X86Backend, + HlpBlake3ArmBackend, HlpXXHash3X86Backend, HlpXXHash3ArmBackend, + HlpAdler32X86Backend, HlpAdler32ArmBackend, HlpArgon2X86Backend, + HlpArgon2ArmBackend, HlpScryptX86Backend, HlpScryptArmBackend, HlpCRCSimd, + HlpCRCX86Backend, HlpCRCArmBackend, HlpHashLibExceptions; implementation