Commit Graph

40 Commits

Author SHA1 Message Date
b8a97a8a05 Add PCLMUL implementation of CRC16-CCITT. 2025-08-21 00:22:17 +01:00
2e857b0240 Update copyright year. 2024-12-19 15:21:40 +00:00
bd5051ce18 General refactor and cleanup. 2024-04-30 15:12:48 +01:00
31edfa0758 Enable optimizations. 2023-09-24 20:20:43 +01:00
JosJuice
89382334ec Implement Fletcher-16 using AVX2 instructions 2023-09-24 18:46:45 +01:00
JosJuice
712281aba5 Implement Fletcher-16 using ARM NEON instructions 2023-09-24 18:46:45 +01:00
JosJuice
2878dea20d Implement Fletcher-16 using SSSE3 instructions 2023-09-24 18:46:45 +01:00
3358d66f0a Implement Fletcher-32 using AVX2 instructions. 2023-09-23 03:12:46 +01:00
ccf605367d Implement Fletcher-32 using SSSE3 instructions. 2023-09-23 02:51:57 +01:00
6bfd6c7c83 Implement Fletcher-32 using ARM NEON instructions. 2023-09-23 02:44:19 +01:00
7e9f26e2df Update copyright year. 2022-12-01 23:06:20 +00:00
d950b8fa51 Fix typo in cmake file. 2021-10-13 21:05:59 +01:00
02801c919a Fix compilation in release using Apple's clang. 2021-10-13 05:16:20 +01:00
a46fc69241 Add version checking function. 2021-10-13 03:50:10 +01:00
134709f90f Set file headers. 2021-10-13 03:25:16 +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
d3bb34dc58 Add ARM SIMD VMULL implementation of CRC64. 2021-10-12 01:45:37 +01:00
fe8e157f89 Fix compilation for 32-bit ARM. 2021-10-05 04:39:13 +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
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
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
186f57d7cb Add CLMUL implementations for CRC32 and CRC64. 2021-09-22 23:49:10 +01:00
25fcc7f474 Enable hard optimizations. 2021-09-22 17:04:40 +01:00
1407e647a8 Add SpamSum. 2021-09-22 00:46:07 +01:00
3431e43f1e Add Fletcher-32. 2021-09-22 00:01:36 +01:00
4e7fbac91b Add Fletcher-16. 2021-09-21 23:59:19 +01:00
d9b53ed189 Add CRC64 (ECMA). 2021-09-21 23:54:09 +01:00
40cf0017da Add CRC32 (ISO). 2021-09-21 23:51:30 +01:00
2904944095 Add CRC16 (IBM) 2021-09-21 23:46:04 +01:00
003d5d216c Add CRC16 (CCITT). 2021-09-21 23:40:11 +01:00
f44a1596e1 Added ADLER32. 2021-09-21 23:20:31 +01:00
c295172ce7 Initial commit. 2021-09-21 20:33:32 +01:00