yomimono / checkseum

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Checkseum

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

About

License:MIT License


Languages

Language:C 52.5%Language:OCaml 46.2%Language:Makefile 0.8%Language:Shell 0.5%