#big-integer #fixed-size #precision #256

no-std eint

Fixed-size signed/unsigned big integers

12 releases (1 stable)

1.0.0 Sep 11, 2022
0.1.10 Aug 15, 2022
0.1.8 Jul 13, 2022
0.1.7 Jun 22, 2022
0.1.3 Feb 28, 2022

#141 in No standard library

31 downloads per month

MIT license

52KB
1K SLoC

Eint

Extended precision integer Rust library. Provides signed/unsigned integer 256 to 2048.

[dependencies]
eint = "0.1"

Usage

use eint::{E256, Eint};

fn main() {
    let a = E256::from(u128::MAX);
    let b = E256::from(u128::MAX);
    println!("    a = {:?}", a);
    println!("    b = {:?}", a);
    println!("a + b = {:?}", a + b);
    println!("a - b = {:?}", a - b);
    println!("a * b = {:?}", a * b);
    println!("a / b = {:?}", a / b);
    println!("a.ctz = {:?}", a.ctz());
}

Full docs: https://docs.rs/eint/latest/eint/

Test

# Test
$ cargo test

# Fuzzing
$ cargo +nightly fuzz run arith_e64
$ cargo +nightly fuzz run arith_e256

# Bench
$ cargo bench

Maintainer

mohanson@outlook.com

License

MIT.


lib.rs:

Eint

Extended precision integer Rust library. Provides signed/unsigned integer 256 to 2048.

[dependencies]
eint = "0.1"

Dependencies

~245KB