diff --git a/src/sealed_fixed.rs b/src/sealed_fixed.rs index 6d66b51..b6cb283 100644 --- a/src/sealed_fixed.rs +++ b/src/sealed_fixed.rs @@ -49,11 +49,6 @@ pub trait SealedFixed: Copy { } fn from_bits(bits: Self::Bits) -> Self; - fn from_parts( - neg: bool, - int_abs: ::Unsigned, - frac_abs: ::Unsigned, - ) -> Self; fn parts( self, ) -> ( @@ -82,31 +77,6 @@ macro_rules! sealed_fixed { $Fixed::from_bits(bits) } - #[inline] - fn from_parts( - neg: bool, - int_abs: ::Unsigned, - frac_abs: ::Unsigned, - ) -> Self { - let frac_bits = ::frac_bits(); - let int_bits = ::int_bits(); - - let int_frac_abs = if int_bits == 0 { - frac_abs - } else if frac_bits == 0 { - int_abs - } else { - (int_abs << frac_bits) | (frac_abs >> int_bits) - }; - debug_assert!(!neg || ::is_signed()); - let int_frac = if ::is_signed() && neg { - int_frac_abs.wrapping_neg() - } else { - int_frac_abs - }; - $Fixed::from_bits(int_frac as _) - } - #[inline] fn parts( self, diff --git a/src/sealed_float.rs b/src/sealed_float.rs index 27c5f63..f998868 100644 --- a/src/sealed_float.rs +++ b/src/sealed_float.rs @@ -45,7 +45,6 @@ pub trait SealedFloat: Copy + Display + Debug { fn is_finite(self) -> bool; fn is_sign_positive(self) -> bool; - fn from_parts(neg: bool, exp: i32, mant: Self::Bits) -> Self; fn parts(self) -> (bool, i32, Self::Bits); fn from_neg_abs(neg: bool, abs: u128, frac_bits: u32, int_bits: u32) -> Self; @@ -92,17 +91,6 @@ macro_rules! sealed_float { self.is_sign_positive() } - #[inline] - fn from_parts(neg: bool, exp: i32, mant: Self::Bits) -> $Float { - let nbits = ::nbits(); - let neg_mask = !0 << (nbits - 1); - - let neg_bits = if neg { neg_mask } else { 0 }; - let biased_exp = (exp + <$Float as SealedFloat>::exp_bias()) as Self::Bits; - let exp_bits = biased_exp << ($prec - 1); - <$Float>::from_bits(neg_bits | exp_bits | mant) - } - #[inline] fn parts(self) -> (bool, i32, $Bits) { let nbits = ::nbits();