double-int

Crates.iodouble-int
lib.rsdouble-int
version0.1.0
sourcesrc
created_at2024-01-16 15:16:18.921173
updated_at2024-01-16 15:16:18.921173
descriptionThe double-int format represents an integer that can be stored in an IEEE 754 double-precision number without loss of precision
homepage
repositoryhttps://github.com/x52dev/double-int
max_upload_size
id1101698
size34,774
Rob Ede (robjtede)

documentation

README

double-int

crates.io Documentation dependency status MIT or Apache 2.0 licensed
CI codecov Version Download

The double-int format represents an integer that can be stored in an IEEE 754 double-precision number without loss of precision.

This crate has been designed for use with OpenAPI tooling that wish to support integer-based format: double-int fields. See docs in the OpenAPI format registry.

Examples

#[derive(Debug, serde::Deserialize)]
struct Config {
    count: DoubleInt,
}

let config = toml::from_str::<Config>(r#"
    count = 42
"#).unwrap();
assert_eq!(config.count, 42);

let config = toml::from_str::<Config>(r#"
    count = -42
"#).unwrap();
assert_eq!(config.count, -42);

// count is outside the bounds of a double-int (> 2^53 in this case)
// (this would usually be accepted by an i64)
let config = toml::from_str::<Config>(r#"
    count = 36028797018963968
"#).unwrap_err();
Commit count: 0

cargo fmt