#interval #arithmetic #numeric

inari

A Rust implementation of interval arithmetic

2 stable releases

1.1.0 Apr 2, 2023
1.0.0 Jul 9, 2022
0.15.0 Apr 3, 2022
0.14.0 Feb 11, 2022
0.2.1 Jul 17, 2020

#279 in Math

Download history 4/week @ 2024-02-22 4/week @ 2024-02-29 3/week @ 2024-03-07 8/week @ 2024-03-14 127/week @ 2024-03-28

138 downloads per month

MIT and maybe LGPL-3.0+

215KB
4K SLoC

🦊 inari

crates.io docs build coverage rustc 1.65+

inari is a Rust implementation of interval arithmetic.

It conforms to IEEE Std 1788.1-2017. It also implements a subset of IEEE Std 1788-2015.

Supported Platforms

The following CPUs are supported:

  • x86-64

    Haswell-based and newer processors are supported.

    You need to specify the target CPU when building a crate that depends on inari. One way to do that is using a configuration file in your project (see example; you may want to change native to haswell for the best compatibility if you are going to distribute binaries).

  • AArch64 (ARM64)

    Should be usable, but is not tested continuously.

When using the Cargo feature gmp (see below), target platforms are limited to the ones that are supported by the gmp-mpfr-sys crate. For example, MSVC is not supported.

Cargo Features

  • gmp (enabled by default) - Enables operations that depend on GMP and MPFR. You can opt out the feature to reduce dependencies. Even in that case, you still have access to all operations required by certain kind of tasks, such as making fast robust predicates for computational geometry.

Changelog

Building the Documentation Locally

RUSTDOCFLAGS="--cfg docsrs --html-in-header /path/to/inari/src/_docs/header.html" cargo doc --open

The absolute path to header.html must be specified.

  • Graphest - A faithful graphing calculator

References

Dependencies

~0–6MB
~128K SLoC