diff --git a/src/d2s.rs b/src/d2s.rs index 392577a..18c49a5 100644 --- a/src/d2s.rs +++ b/src/d2s.rs @@ -86,7 +86,7 @@ pub struct FloatingDecimal64 { } #[cfg_attr(feature = "no-panic", inline)] -pub fn d2d(ieee_mantissa: u64, ieee_exponent: u32) -> FloatingDecimal64 { +pub unsafe fn d2d(ieee_mantissa: u64, ieee_exponent: u32) -> FloatingDecimal64 { let (e2, m2) = if ieee_exponent == 0 { ( // We subtract 2 so that the bounds computation has 2 additional bits. diff --git a/src/pretty/mod.rs b/src/pretty/mod.rs index 6977339..f950f7b 100644 --- a/src/pretty/mod.rs +++ b/src/pretty/mod.rs @@ -68,7 +68,7 @@ pub unsafe fn format64(f: f64, result: *mut u8) -> usize { index += 1; } - let v = d2d(ieee_mantissa, ieee_exponent); + let v = unsafe { d2d(ieee_mantissa, ieee_exponent) }; let length = d2s::decimal_length17(v.mantissa) as isize; let k = v.exponent as isize;