🦊 inari

A Rust implementation of set-based interval arithmetic.
Requirements
The nightly Rust toolchain is required, since the new asm!
macro is used in the crate.
There is one conditional feature:
gmp
(enabled by default) - Enables operations that depend on GMP and MPFR, namely transcendental functions and conversion between texts and intervals. You can opt-out the feature to reduce dependency. Even in that case, you can still access to basic arithmetic operations that are required for writing filters for geometric predicates.
TODO
- AVX512F support (mm512addroundpd, etc.)
- https://github.com/rust-lang/stdarch/issues/310
- Improve conformance to the standard
- More formatting options
- https://octave.sourceforge.io/interval/function/intervaltotext.html
- https://en.cppreference.com/w/cpp/utility/format/formatter
References
- IEEE Std 1788-2015 - IEEE Standard for Interval Arithmetic. https://doi.org/10.1109/IEEESTD.2015.7140721
- IEEE Std 1788.1-2017 - IEEE Standard for Interval Arithmetic (Simplified). https://doi.org/10.1109/IEEESTD.2018.8277144