NtHash (https://github.com/bcgsc/ntHash) is a fast nucleotide hashing function written in C++. This repository is a C wrapper around NtHash. It is useful because wrapping C++ code in Rust in challenging, the recommended way is to write a C wrapper (https://cxx.rs/context.html).
To test:
make
make
LD_LIBRARY_PATH=. ./main
NtHash build fails on my system the first time (with a circularity-related error). Relaunching the build passes the offending step with no issue, mysteriously. But then it fails later with an issue with pthread linking. This is inconsequential as the ntHash/build/libnthash.a
library has already been generated at this step, and we only use that.
Followed this excellent C wrapping tutorial: https://nachtimwald.com/2017/08/18/wrapping-c-objects-in-c/