checkseum

Adler-32, CRC32 and CRC32-C implementation in C and OCaml
README

Chekseum is a library which implements ADLER-32 and CRC32C Cyclic Redundancy
Check. It provides 2 implementation, the first in C and the second in OCaml. The
library is on top of optint to get
the best representation of the CRC in the OCaml world.

Linking trick / variant

Then, as digestif, checkseum uses
the linking trick. So if you want to use checkseum in a library, you can link
with the checkseum package which does not provide an implementation. Then,
end-user can choose between the C implementation or the OCaml implementation
(both work on Mirage).

So, in utop, to be able to fully use checkseum, you need to write:

$ utop -require checkseum.c

or

$ utop -require checkseum.ocaml

In a dune workspace, the build-system is able to choose silently default
implementation (checkseum.c) for your executable if you don't specify one of them.
A dune-library is not able to choose an implementatio but still able to use the
virtual library checkseum.

Build Requirements

  • OCaml >= 4.03.0

  • base-bytes

  • base-bigarray

  • dune to build

  • optint

Install
Published
02 Aug 2021
Sources
checkseum-v0.3.2.tbz
sha256=9cdd282ea1cfc424095d7284e39e4d0ad091de3c3f2580539d03f6966d45ccd5
sha512=d66cb268dddaedcd2781a40b5982e987603f35f9f55dbfc2ca8d49802d878805b4f77d6d1c74a7556579c789b2dc89554c28ff652128604bcb3ad1a9788e2e97
Dependencies
ocamlfind
with-test
rresult
with-test
fpath
with-test
fmt
with-test
astring
with-test
bos
with-test
alcotest
with-test
optint
>= "0.0.5"
dune
>= "2.6.0"
ocaml
>= "4.07.0"
Reverse Dependencies
carton
< "0.4.4"
carton-lwt
< "0.4.4"
decompress
>= "0.8"
git
>= "2.0.0" & < "3.9.1"
rfc1951
< "1.0.0" | >= "1.3.0"