pub fn float_div(self, rhs: Self, flag: RoundingFlag) -> MaybeNumber {
        let layout = self.layout();
        assert_eq!(layout, rhs.layout(), "dividing numbers with different layout");
        match layout {
            Layout::Float(FloatLayout::BFloat16) => (bf16::from(self) / bf16::from(rhs)).into(),
            Layout::Float(FloatLayout::IeeeHalf) => {
                ieee::Half::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeSingle) => {
                ieee::Single::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeDouble) => {
                ieee::Double::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeQuad) => {
                ieee::Quad::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::X87DoubleExt) => {
                ieee::X87DoubleExtended::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeOct) => {
                ieee::Oct::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::FloatTapered) => todo!("(#5) tapered float division"),
            Layout::Integer(_) => panic!("float division of integer numbers"),
        }
    }
/// Division of two floats with configuration flags for rounding.
///
/// # Panics
///
/// - if applied to float number layouts
/// - if numbers in arguments has different layout.
Division of two floats with configuration flags for rounding.
Division of two floats with configuration flags for rounding .
pub fn float_div(self, rhs: Self, flag: RoundingFlag) -> MaybeNumber {
        let layout = self.layout();
        assert_eq!(layout, rhs.layout(), "dividing numbers with different layout");
        match layout {
            Layout::Float(FloatLayout::BFloat16) => (bf16::from(self) / bf16::from(rhs)).into(),
            Layout::Float(FloatLayout::IeeeHalf) => {
                ieee::Half::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeSingle) => {
                ieee::Single::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeDouble) => {
                ieee::Double::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeQuad) => {
                ieee::Quad::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::X87DoubleExt) => {
                ieee::X87DoubleExtended::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::IeeeOct) => {
                ieee::Oct::from(self).div_r(rhs.into(), flag.into()).into()
            }
            Layout::Float(FloatLayout::FloatTapered) => todo!("(#5) tapered float division"),
            Layout::Integer(_) => panic!("float division of integer numbers"),
        }
    }
pub fn float_div ( self , rhs : Self , flag : RoundingFlag ) -> MaybeNumber { let layout = self . layout ( ) ; assert_eq ! ( layout rhs layout ( ) " " ) ; match layout { Layout :: Float ( FloatLayout :: BFloat16 ) => ( bf16 :: from ( self ) / bf16 :: from ( rhs ) ) . into ( ) , Layout :: Float ( FloatLayout :: IeeeHalf ) => { ieee :: Half :: from ( self ) . div_r ( rhs . into ( ) , flag . into ( ) ) . into ( ) } Layout :: Float ( FloatLayout :: IeeeSingle ) => { ieee :: Single :: from ( self ) . div_r ( rhs . into ( ) , flag . into ( ) ) . into ( ) } Layout :: Float ( FloatLayout :: IeeeDouble ) => { ieee :: Double :: from ( self ) . div_r ( rhs . into ( ) , flag . into ( ) ) . into ( ) } Layout :: Float ( FloatLayout :: IeeeQuad ) => { ieee :: Quad :: from ( self ) . div_r ( rhs . into ( ) , flag . into ( ) ) . into ( ) } Layout :: Float ( FloatLayout :: X87DoubleExt ) => { ieee :: X87DoubleExtended :: from ( self ) . div_r ( rhs . into ( ) , flag . into ( ) ) . into ( ) } Layout :: Float ( FloatLayout :: IeeeOct ) => { ieee :: Oct :: from ( self ) . div_r ( rhs . into ( ) , flag . into ( ) ) . into ( ) } Layout :: Float ( FloatLayout :: FloatTapered ) => todo ! ( " " ) , Layout :: Integer ( _ ) => panic ! ( " " ) , } }
Division of two floats with configuration flags for rounding.
Division of two floats with configuration flags for rounding .
self
rhs
Self
flag
RoundingFlag
self
rhs
Self
flag
RoundingFlag
panics
if applied to float number layouts
if numbers in arguments has different layout.
if applied to float number layouts if numbers in arguments has different layout .