6 releases

0.1.6 Oct 30, 2020
0.1.5 Oct 30, 2020
0.1.4 Apr 3, 2019
0.1.2 Dec 18, 2018

#717 in Algorithms

Download history 1295/week @ 2024-11-21 1614/week @ 2024-11-28 2274/week @ 2024-12-05 2407/week @ 2024-12-12 1709/week @ 2024-12-19 1622/week @ 2024-12-26 2180/week @ 2025-01-02 2040/week @ 2025-01-09 2608/week @ 2025-01-16 1236/week @ 2025-01-23 667/week @ 2025-01-30 1445/week @ 2025-02-06 1554/week @ 2025-02-13 2193/week @ 2025-02-20 1980/week @ 2025-02-27 1630/week @ 2025-03-06

7,560 downloads per month
Used in 96 crates (6 directly)

Apache-2.0 OR MIT

11KB
66 lines

A series of fixed non-negative integer types.

Constructors

This crate provides a series of macros that used to construct fixed uints in compile time.

The input is a string literal, and the macros support several formats of the input:

  • A decimal string.
  • A binary string with 0b prefix.
  • A octal string with 0o prefix.
  • A hexadecimal string with 0x prefix.

And you can use any number of _ in the string literal to separate it for more readable.

Examples

use numext_fixed_uint::{u128, U128};

const U128_100: U128 = u128!("100");

fn main () -> ::std::io::Result<()> {
    let x1 = u128!("0b110_0100");
    let x2 = u128!("0o144");
    let x3 = u128!("0x64");
    let y = U128::from(100u8);
    assert_eq!(x1, y);
    assert_eq!(x2, y);
    assert_eq!(x3, y);
    assert_eq!(U128_100, y);
    Ok(())
}

Dependencies

~1.3–2MB
~43K SLoC