#ieee-754 #deserialize #serialization #serde #utilities #no-alloc

no-std double-int

double-int格式表示一个整数,可以存储在IEEE 754双精度数字中而不损失精度

1 个不稳定版本

0.1.0 2024年1月16日

#7 in #ieee-754

MIT/Apache

12KB
94

double-int

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

double-int格式表示一个整数,可以存储在IEEE 754双精度数字中而不损失精度。

该包是为希望支持基于整数的 format: double-int 字段的开源API工具而设计的。 请参阅OpenAPI格式注册表中的文档。

示例

#[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();

依赖项

~110–340KB