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

#851 in Algorithms

Download history 1264/week @ 2024-07-22 1521/week @ 2024-07-29 1060/week @ 2024-08-05 2078/week @ 2024-08-12 1188/week @ 2024-08-19 1776/week @ 2024-08-26 1373/week @ 2024-09-02 1023/week @ 2024-09-09 1135/week @ 2024-09-16 1409/week @ 2024-09-23 558/week @ 2024-09-30 862/week @ 2024-10-07 1287/week @ 2024-10-14 2657/week @ 2024-10-21 1385/week @ 2024-10-28 591/week @ 2024-11-04

5,929 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
~42K SLoC