JosJuice a9b6c4868b Expand Fletcher-16 NMAX
The limit when calculating the value of NMAX is 2^16-1 only when sum1
and sum2 are represented as 16-bit. We're representing them as 32-bit.

This will be helpful for SIMD implementations of Fletcher-16, because
the old limit of 22 bytes would have meant that we could only process
16 bytes at a time before having to compute modulo.
2023-09-24 18:46:45 +01:00
2021-09-22 01:27:28 +01:00
2021-09-21 20:33:32 +01:00
2021-09-21 20:33:32 +01:00
2021-10-05 01:58:31 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:10:44 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 19:51:50 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 19:51:50 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 19:51:50 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-24 18:46:45 +01:00
2023-09-24 18:46:45 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-24 18:46:45 +01:00
2023-09-23 18:55:52 +01:00
2022-12-01 23:07:49 +00:00
2021-09-21 20:33:32 +01:00
2022-12-01 23:06:20 +00:00
2023-09-23 19:51:50 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00
2023-09-23 18:55:52 +01:00

Aaru.Checksums.Native

This repository contains the Aaru.Checksums.Native library for Aaru.

The purpose of this library is to provide checksums and hashing algorithms for Aaru.

No archiver processing code should fall here, those go in Aaru.Checksums.

To build you just need Docker on Linux and run build.sh, that will generate a NuGet package for use with Aaru.Checksums.

Currently implemented algorithms are:

  • Adler-32
  • CRC-16 (CCITT and IBM polynomials)
  • CRC-32 (ISO polynomial)
  • CRC-64 (ECMA polynomial)
  • Fletcher-16
  • Fletcher-32
  • SpamSum

Each of these algorithms have a corresponding license, that can be found in their corresponding file header.

The resulting output of build.sh falls under the LGPL 2.1 license as stated in the LICENSE file.

Any new algorithm added should be under a license compatible with the LGPL 2.1 license to be accepted.

© 2021-2023 Natalia Portillo

Description
C and asm optimized versions of checksums needed by Aaru
Readme LGPL-2.1 1.5 MiB
Languages
C 80.1%
C++ 15.9%
Shell 2.4%
CMake 1.6%