#integer #misaligned #unaligned #const-generics

no-std arbintrary

Proof of concept for arbitrary integer sizes using generic const

7 unstable releases (3 breaking)

0.4.0 Jun 29, 2021
0.3.0 Jun 28, 2021
0.2.1 Jun 21, 2021
0.1.2 Jun 19, 2021

#2247 in Rust patterns

Apache-2.0/MIT

135KB
3.5K SLoC

arbINTrary CI Crates.io

A Proof of Concept implementation of generic integers using the const generics feature. Based on the uX crate and @programmerjake's initial implementation.

When non-standard-width integers are required in an application, the norm is to use a larger container and make sure the value is within range after manipulation. ArbINTrary aims to take care of this once and for all by:

  • Providing uint<0>-uint<128> and int<0>-int<128> types that should behave as similar as possible to the built in rust types
    • The methods of the defined types are the same as for the built in types (far from all is implemented at this point but fill out an issue or create a PR if something essential for you is missing)
    • Overflow will panic in debug and wrap in release.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps

Features