20 Commits

Author SHA1 Message Date
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
1905cb0d43 Refactor and reformat. 2023-09-23 18:55:52 +01:00
33f021fd54 Add documentation. 2023-09-23 18:10:44 +01:00
d4a607345e Lower ARM architecture requirement for CRC32 instructions.
The changes ensure compatibility with compilers targeting ARMv7.
32-bit processors of architecture 8 and higher, or 64-bit processors running in 32-bit mode can have the CRC32 instructions.
With this change we will query the processor instead of the compiler architecture.
2023-09-23 00:53:23 +01:00
7e9f26e2df Update copyright year. 2022-12-01 23:06:20 +00:00
e63125ac04 Consistency of method signatures. 2021-10-13 03:07:04 +01:00
6c10f3e58d Fix compilation in MSVC (x86). 2021-10-12 23:26:48 +01:00
fe8e157f89 Fix compilation for 32-bit ARM. 2021-10-05 04:39:13 +01:00
8e2f7e2b55 Add unit tests for CRC32. 2021-10-05 04:39:12 +01:00
1f31d93572 Add ARM SIMD VMULL implementation of CRC32. 2021-10-05 00:33:48 +01:00
d433af7987 Add ARM special instructions implementation for CRC32. 2021-09-29 02:49:40 +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
886d613f6e Change CRC algorithms to use slicing. 2021-09-22 20:09:52 +01:00
2119f7d578 Use premade CRC32 and CRC64 tables. 2021-09-22 17:04:22 +01:00
7553a3ce40 Fix CRC32 and CRC64 table generation. 2021-09-22 04:09:39 +01:00
4002cca010 Reformat. 2021-09-22 01:27:28 +01:00
34e44b99bc Set proper function definitions. 2021-09-22 01:02:07 +01:00
40cf0017da Add CRC32 (ISO). 2021-09-21 23:51:30 +01:00