pub fn inverse(&self) -> Option<TypedMatrix2D<T, Dst, Src>> {
        let det = self.determinant();

        let _0: T = Zero::zero();
        let _1: T = One::one();

        if det == _0 {
          return None;
        }

        let inv_det = _1 / det;
        Some(TypedMatrix2D::row_major(
            inv_det * self.m22,
            inv_det * (_0 - self.m12),
            inv_det * (_0 - self.m21),
            inv_det * self.m11,
            inv_det * (self.m21 * self.m32 - self.m22 * self.m31),
            inv_det * (self.m31 * self.m12 - self.m11 * self.m32),
        ))
    }
/// Returns the inverse matrix if possible.
Returns the inverse matrix if possible.
Returns the inverse matrix if possible .
pub fn inverse(&self) -> Option<TypedMatrix2D<T, Dst, Src>> {
        let det = self.determinant();
        let _0: T = Zero::zero();
        let _1: T = One::one();
        if det == _0 {
          return None;
        }
        let inv_det = _1 / det;
        Some(TypedMatrix2D::row_major(
            inv_det * self.m22,
            inv_det * (_0 - self.m12),
            inv_det * (_0 - self.m21),
            inv_det * self.m11,
            inv_det * (self.m21 * self.m32 - self.m22 * self.m31),
            inv_det * (self.m31 * self.m12 - self.m11 * self.m32),
        ))
    }
pub fn inverse ( & self ) -> Option < TypedMatrix2D < T , Dst , Src > > { let det = self . determinant ( ) ; let _0 : T = Zero :: zero ( ) ; let _1 : T = One :: one ( ) ; if det == _0 { return None ; } let inv_det = _1 / det ; Some ( TypedMatrix2D :: row_major ( inv_det * self . m22 , inv_det * ( _0 - self . m12 ) , inv_det * ( _0 - self . m21 ) , inv_det * self . m11 , inv_det * ( self . m21 * self . m32 - self . m22 * self . m31 ) , inv_det * ( self . m31 * self . m12 - self . m11 * self . m32 ) , ) ) }
Returns the inverse matrix if possible.
Returns the inverse matrix if possible .
&self
&self