Crates.io | double-int |
lib.rs | double-int |
version | 0.1.0 |
source | src |
created_at | 2024-01-16 15:16:18.921173 |
updated_at | 2024-01-16 15:16:18.921173 |
description | The double-int format represents an integer that can be stored in an IEEE 754 double-precision number without loss of precision |
homepage | |
repository | https://github.com/x52dev/double-int |
max_upload_size | |
id | 1101698 |
size | 34,774 |
double-int
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.
#[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();