121 Commits

Author SHA1 Message Date
02801c919a Fix compilation in release using Apple's clang. 2021-10-13 05:16:20 +01:00
8e2a9364a7 Do not try to use VMULL in Android/ARM. 2021-10-13 05:15:57 +01:00
a46fc69241 Add version checking function. 2021-10-13 03:50:10 +01:00
58f97a93f3 Refactor code. 2021-10-13 03:46:47 +01:00
ca65d12c7e Fix header guards. 2021-10-13 03:30:02 +01:00
134709f90f Set file headers. 2021-10-13 03:25:16 +01:00
e63125ac04 Consistency of method signatures. 2021-10-13 03:07:04 +01:00
3797b44289 Add detection of ARM capabilities under Darwin. 2021-10-13 02:54:21 +01:00
3b50cdb5f0 Fix definition of size_t for non-Windows platforms. 2021-10-13 02:54:08 +01:00
4cd7a59113 Fix definitions for MSVC compilation. 2021-10-13 02:53:47 +01:00
8d77838be2 Fix compilation on ARM and ARM64 using MSVC. 2021-10-13 00:41:58 +01:00
6c10f3e58d Fix compilation in MSVC (x86). 2021-10-12 23:26:48 +01:00
09f91a4116 Fix compilation in MSVC (x64). 2021-10-12 23:25:54 +01:00
0c2bc4c249 Add cmake configuration for Visual Studio. 2021-10-12 23:24:44 +01:00
d3bb34dc58 Add ARM SIMD VMULL implementation of CRC64. 2021-10-12 01:45:37 +01:00
ee776e95f8 Add tests with a misaligned buffer. 2021-10-06 04:28:26 +01:00
705e13f6a4 Add more tests. 2021-10-06 03:50:24 +01:00
15fdd85481 Fix tests path. 2021-10-05 04:39:13 +01:00
fe8e157f89 Fix compilation for 32-bit ARM. 2021-10-05 04:39:13 +01:00
f98418c7c0 Add unit tests for SpamSum. 2021-10-05 04:39:12 +01:00
fce44d1a38 Add unit tests for Fletcher-32. 2021-10-05 04:39:12 +01:00
f9e29de5dc Add unit tests for Fletcher-16. 2021-10-05 04:39:12 +01:00
6e5ee2a705 Add unit tests for CRC64. 2021-10-05 04:39:12 +01:00
8e2f7e2b55 Add unit tests for CRC32. 2021-10-05 04:39:12 +01:00
26769548f5 Add unit tests for CCITT CRC16. 2021-10-05 04:39:12 +01:00
065bae01f0 Add unit tests for IBM CRC16. 2021-10-05 04:39:12 +01:00
a9c49a64b4 Add unit tests for Adler-32. 2021-10-05 04:39:12 +01:00
513ef08c43 Add unit tests. 2021-10-05 04:39:12 +01:00
c936a649bb Add unit tests. 2021-10-05 01:58:31 +01:00
1f31d93572 Add ARM SIMD VMULL implementation of CRC32. 2021-10-05 00:33:48 +01:00
ae9e8f66d8 Fix definitions. 2021-10-05 00:33:27 +01:00
aa172b43eb Separate common parts of SIMD CRC32. 2021-10-05 00:33:05 +01:00
66bff24632 Fix compilation for SSSE3. 2021-10-05 00:31:52 +01:00
958d06ed26 Add detection for ARM AES extensions. 2021-10-05 00:31:37 +01:00
d449bc768c Add definition for forcing inlining. 2021-10-05 00:31:21 +01:00
00d528549e Fix typo in library definition. 2021-10-05 00:31:06 +01:00
cd4f90e360 Fix SIMD definitions and add more definitions for ARM. 2021-10-05 00:30:24 +01:00
f425cb6f24 Fix CRC32 using ARM SIMD being reversed when not needed. 2021-10-01 03:40:29 +01:00
33abe35273 Enable GCC optimizations. 2021-09-29 02:54:49 +01:00
d433af7987 Add ARM special instructions implementation for CRC32. 2021-09-29 02:49:40 +01:00
2458863cb4 Add NEON implementation for Adler32. 2021-09-29 01:27:02 +01:00
fe773bd1b6 Add AVX2 implementation for Adler32. 2021-09-28 22:30:57 +01:00
00a8cb8668 Add SSSE3 implementation for Adler32. 2021-09-28 20:16:40 +01:00
04d7f954d6 Add optimizations for MSVC and set target cpu for x86 and x64 to minimum supported by RyuJIT. 2021-09-28 19:50:26 +01:00
43f9b5f154 Make code compilable with MSVC. 2021-09-28 19:49:54 +01:00
6ce6159b1d Add NuGet package specification. 2021-09-26 20:00:24 +01:00
f24db7232b Add build script. 2021-09-26 19:45:13 +01:00
b384450383 Guard SIMD file only for x86 and amd64. 2021-09-26 19:44:47 +01:00
84f639b3d2 Separate compiler optimization options by architecture. 2021-09-26 17:42:32 +01:00
6b45dd6e5b Condition compilation of CLMUL to IA32/AMD64 and check if it's available before executing. 2021-09-26 17:37:50 +01:00