Upstream magiclen/byte-unit state of the touched files before 4d115cc977
This commit is contained in:
1 parent
2219c475f1
commit
85f79fa753
2 files changed
+2
-24
No files matched your search
+2
-14
@@ -36,13 +36,7 @@ pub(crate) fn ceil_f64(v: f64) -> f64 {
|
|||||||
pub(crate) fn ceil_f64(v: f64) -> f64 {
|
pub(crate) fn ceil_f64(v: f64) -> f64 {
|
||||||
debug_assert!(v >= 0.0);
|
debug_assert!(v >= 0.0);
|
||||||
|
|
||||||
// `Decimal::from_f64` returns `None` for non-finite values (e.g. infinity),
|
Decimal::from_f64(v).unwrap().ceil().to_f64().unwrap()
|
||||||
// so fall back to the input to mirror `f64::ceil` in the `std` path and
|
|
||||||
// avoid panicking.
|
|
||||||
match Decimal::from_f64(v) {
|
|
||||||
Some(d) => d.ceil().to_f64().unwrap_or(v),
|
|
||||||
None => v,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "byte", feature = "bit"))]
|
#[cfg(any(feature = "byte", feature = "bit"))]
|
||||||
@@ -60,13 +54,7 @@ pub(crate) fn ceil_f32(v: f32) -> f32 {
|
|||||||
pub(crate) fn ceil_f32(v: f32) -> f32 {
|
pub(crate) fn ceil_f32(v: f32) -> f32 {
|
||||||
debug_assert!(v >= 0.0);
|
debug_assert!(v >= 0.0);
|
||||||
|
|
||||||
// `Decimal::from_f32` returns `None` for non-finite values (e.g. infinity),
|
Decimal::from_f32(v).unwrap().ceil().to_f32().unwrap()
|
||||||
// so fall back to the input to mirror `f32::ceil` in the `std` path and
|
|
||||||
// avoid panicking.
|
|
||||||
match Decimal::from_f32(v) {
|
|
||||||
Some(d) => d.ceil().to_f32().unwrap_or(v),
|
|
||||||
None => v,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "byte", feature = "bit"))]
|
#[cfg(any(feature = "byte", feature = "bit"))]
|
||||||
|
|||||||
@@ -170,13 +170,3 @@ fn tests() {
|
|||||||
assert_eq!(byte, serde_json::from_str::<Byte>(case.0).unwrap(), "{i}");
|
assert_eq!(byte, serde_json::from_str::<Byte>(case.0).unwrap(), "{i}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn from_non_finite_returns_none() {
|
|
||||||
// Non-finite inputs are "too large" and must return None instead of
|
|
||||||
// panicking, consistently across the `std` and `no_std` builds.
|
|
||||||
assert_eq!(Byte::from_f64(f64::INFINITY), None);
|
|
||||||
assert_eq!(Byte::from_f64(f64::NAN), None);
|
|
||||||
assert_eq!(Byte::from_f32(f32::INFINITY), None);
|
|
||||||
assert_eq!(Byte::from_f32(f32::NAN), None);
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user