[](https://github.com/OTheDev/arbi/actions/workflows/test.yml)
[](https://github.com/OTheDev/arbi/actions/workflows/static.yml)
[](https://github.com/OTheDev/arbi)
[](https://docs.rs/arbi/latest/arbi/)


[](https://crates.io/crates/arbi)
# arbi
`arbi` implements an Arbitrary Precision Integer type: [`Arbi`](https://docs.rs/arbi/latest/arbi/struct.Arbi.html).
## Features
- **No dependencies** by default.
If you need to generate random arbitrary integers, enable the `rand` feature,
which depends on the [rand](https://docs.rs/rand/latest/rand/) crate.
- **`no_std`**.
This crate is `no_std` and utilizes the [`alloc`](https://doc.rust-lang.org/1.82.0/alloc/index.html) crate for dynamic memory allocation.
Enable the `std` feature if you need `std::error::Error` implementations for error types (it is not used for other purposes).
- **`forbid(unsafe_code)`**.
Statically guarantees that crate code does not use `unsafe` Rust.
- **Pure Rust** implementation.
## License
This project is dual-licensed under either the [Apache License, Version 2.0](https://github.com/OTheDev/arbi/blob/main/LICENSE-APACHE)
or the [MIT License](https://github.com/OTheDev/arbi/blob/main/LICENSE-MIT),
at your option.
## Contributing
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this project by you shall be dual-licensed as above, without
any additional terms or conditions.