pub fn post_mul<NewDst>(&self, mat: &TypedMatrix4D<T, Dst, NewDst>) -> TypedMatrix4D<T, Src, NewDst> {
        TypedMatrix4D::row_major(
            self.m11 * mat.m11  +  self.m12 * mat.m21  +  self.m13 * mat.m31  +  self.m14 * mat.m41,
            self.m11 * mat.m12  +  self.m12 * mat.m22  +  self.m13 * mat.m32  +  self.m14 * mat.m42,
            self.m11 * mat.m13  +  self.m12 * mat.m23  +  self.m13 * mat.m33  +  self.m14 * mat.m43,
            self.m11 * mat.m14  +  self.m12 * mat.m24  +  self.m13 * mat.m34  +  self.m14 * mat.m44,
            self.m21 * mat.m11  +  self.m22 * mat.m21  +  self.m23 * mat.m31  +  self.m24 * mat.m41,
            self.m21 * mat.m12  +  self.m22 * mat.m22  +  self.m23 * mat.m32  +  self.m24 * mat.m42,
            self.m21 * mat.m13  +  self.m22 * mat.m23  +  self.m23 * mat.m33  +  self.m24 * mat.m43,
            self.m21 * mat.m14  +  self.m22 * mat.m24  +  self.m23 * mat.m34  +  self.m24 * mat.m44,
            self.m31 * mat.m11  +  self.m32 * mat.m21  +  self.m33 * mat.m31  +  self.m34 * mat.m41,
            self.m31 * mat.m12  +  self.m32 * mat.m22  +  self.m33 * mat.m32  +  self.m34 * mat.m42,
            self.m31 * mat.m13  +  self.m32 * mat.m23  +  self.m33 * mat.m33  +  self.m34 * mat.m43,
            self.m31 * mat.m14  +  self.m32 * mat.m24  +  self.m33 * mat.m34  +  self.m34 * mat.m44,
            self.m41 * mat.m11  +  self.m42 * mat.m21  +  self.m43 * mat.m31  +  self.m44 * mat.m41,
            self.m41 * mat.m12  +  self.m42 * mat.m22  +  self.m43 * mat.m32  +  self.m44 * mat.m42,
            self.m41 * mat.m13  +  self.m42 * mat.m23  +  self.m43 * mat.m33  +  self.m44 * mat.m43,
            self.m41 * mat.m14  +  self.m42 * mat.m24  +  self.m43 * mat.m34  +  self.m44 * mat.m44,
        )
    }
/// Returns the multiplication of the two matrices such that mat's transformation
/// applies after self's transformation.
Returns the multiplication of the two matrices such that mat's transformation
applies after self's transformation.
Returns the multiplication of the two matrices such that mat ' s transformation applies after self ' s transformation .
pub fn post_mul<NewDst>(&self, mat: &TypedMatrix4D<T, Dst, NewDst>) -> TypedMatrix4D<T, Src, NewDst> {
        TypedMatrix4D::row_major(
            self.m11 * mat.m11  +  self.m12 * mat.m21  +  self.m13 * mat.m31  +  self.m14 * mat.m41,
            self.m11 * mat.m12  +  self.m12 * mat.m22  +  self.m13 * mat.m32  +  self.m14 * mat.m42,
            self.m11 * mat.m13  +  self.m12 * mat.m23  +  self.m13 * mat.m33  +  self.m14 * mat.m43,
            self.m11 * mat.m14  +  self.m12 * mat.m24  +  self.m13 * mat.m34  +  self.m14 * mat.m44,
            self.m21 * mat.m11  +  self.m22 * mat.m21  +  self.m23 * mat.m31  +  self.m24 * mat.m41,
            self.m21 * mat.m12  +  self.m22 * mat.m22  +  self.m23 * mat.m32  +  self.m24 * mat.m42,
            self.m21 * mat.m13  +  self.m22 * mat.m23  +  self.m23 * mat.m33  +  self.m24 * mat.m43,
            self.m21 * mat.m14  +  self.m22 * mat.m24  +  self.m23 * mat.m34  +  self.m24 * mat.m44,
            self.m31 * mat.m11  +  self.m32 * mat.m21  +  self.m33 * mat.m31  +  self.m34 * mat.m41,
            self.m31 * mat.m12  +  self.m32 * mat.m22  +  self.m33 * mat.m32  +  self.m34 * mat.m42,
            self.m31 * mat.m13  +  self.m32 * mat.m23  +  self.m33 * mat.m33  +  self.m34 * mat.m43,
            self.m31 * mat.m14  +  self.m32 * mat.m24  +  self.m33 * mat.m34  +  self.m34 * mat.m44,
            self.m41 * mat.m11  +  self.m42 * mat.m21  +  self.m43 * mat.m31  +  self.m44 * mat.m41,
            self.m41 * mat.m12  +  self.m42 * mat.m22  +  self.m43 * mat.m32  +  self.m44 * mat.m42,
            self.m41 * mat.m13  +  self.m42 * mat.m23  +  self.m43 * mat.m33  +  self.m44 * mat.m43,
            self.m41 * mat.m14  +  self.m42 * mat.m24  +  self.m43 * mat.m34  +  self.m44 * mat.m44,
        )
    }
pub fn post_mul < NewDst > ( & self , mat : & TypedMatrix4D < T , Dst , NewDst > ) -> TypedMatrix4D < T , Src , NewDst > { TypedMatrix4D :: row_major ( self . m11 * mat . m11 + self . m12 * mat . m21 + self . m13 * mat . m31 + self . m14 * mat . m41 , self . m11 * mat . m12 + self . m12 * mat . m22 + self . m13 * mat . m32 + self . m14 * mat . m42 , self . m11 * mat . m13 + self . m12 * mat . m23 + self . m13 * mat . m33 + self . m14 * mat . m43 , self . m11 * mat . m14 + self . m12 * mat . m24 + self . m13 * mat . m34 + self . m14 * mat . m44 , self . m21 * mat . m11 + self . m22 * mat . m21 + self . m23 * mat . m31 + self . m24 * mat . m41 , self . m21 * mat . m12 + self . m22 * mat . m22 + self . m23 * mat . m32 + self . m24 * mat . m42 , self . m21 * mat . m13 + self . m22 * mat . m23 + self . m23 * mat . m33 + self . m24 * mat . m43 , self . m21 * mat . m14 + self . m22 * mat . m24 + self . m23 * mat . m34 + self . m24 * mat . m44 , self . m31 * mat . m11 + self . m32 * mat . m21 + self . m33 * mat . m31 + self . m34 * mat . m41 , self . m31 * mat . m12 + self . m32 * mat . m22 + self . m33 * mat . m32 + self . m34 * mat . m42 , self . m31 * mat . m13 + self . m32 * mat . m23 + self . m33 * mat . m33 + self . m34 * mat . m43 , self . m31 * mat . m14 + self . m32 * mat . m24 + self . m33 * mat . m34 + self . m34 * mat . m44 , self . m41 * mat . m11 + self . m42 * mat . m21 + self . m43 * mat . m31 + self . m44 * mat . m41 , self . m41 * mat . m12 + self . m42 * mat . m22 + self . m43 * mat . m32 + self . m44 * mat . m42 , self . m41 * mat . m13 + self . m42 * mat . m23 + self . m43 * mat . m33 + self . m44 * mat . m43 , self . m41 * mat . m14 + self . m42 * mat . m24 + self . m43 * mat . m34 + self . m44 * mat . m44 , ) }
Returns the multiplication of the two matrices such that mat's transformation
applies after self's transformation.
Returns the multiplication of the two matrices such that mat ' s transformation applies after self ' s transformation .
&self
mat
&TypedMatrix4D<T, Dst, NewDst>
&self
mat
&TypedMatrix4D<T, Dst, NewDst>