bamler-lab / constriction

Entropy coders for research and production in Python and Rust.
https://bamler-lab.github.io/constriction/
Apache License 2.0
80 stars 6 forks source link

Full `no_std` and `miri` support #18

Closed robamler closed 1 year ago

robamler commented 1 year ago

Update dependency on probability from version 0.18 to version 0.19.1 make it non-optional. This is a breaking change since constriction's public API exposes traits from probability.

Starting from version 0.19, crate probability is now supposed to both support no_std mode and remove all external syscalls for mathematical special functions. We therefore no longer need to make the crate probability an optional dependency.

The updated probability should allow users to use constriction in no_std mode in more contexts, and to run more tests in miri. Tests on this PR will show whether this is indeed the case.

robamler commented 1 year ago

It might be worth waiting for rust-lang/rust#103765 to be stabilized, as that would probably allow us to be no_std compatible by default (without a feature gate).