GLSharp.Util.Matrix4X4.MultiplyMInv C# (CSharp) Method

MultiplyMInv() public method

public MultiplyMInv ( Matrix4X4 other ) : Matrix4X4
other Matrix4X4
return Matrix4X4
        public Matrix4X4 MultiplyMInv(Matrix4X4 other)
        {
            float a00 = Elements[0], a01 = Elements[1], a02 = Elements[2], a03 = Elements[3];
            float a10 = Elements[4], a11 = Elements[5], a12 = Elements[6], a13 = Elements[7];
            float a20 = Elements[8], a21 = Elements[9], a22 = Elements[10], a23 = Elements[11];
            float a30 = Elements[12], a31 = Elements[13], a32 = Elements[14], a33 = Elements[15];

            float b00 = other.Elements[0], b01 = other.Elements[1], b02 = other.Elements[2], b03 = other.Elements[3];
            float b10 = other.Elements[4], b11 = other.Elements[5], b12 = other.Elements[6], b13 = other.Elements[7];
            float b20 = other.Elements[8], b21 = other.Elements[9], b22 = other.Elements[10], b23 = other.Elements[11];
            float b30 = other.Elements[12], b31 = other.Elements[13], b32 = other.Elements[14], b33 = other.Elements[15];

            Elements[0] = a00 * b00 + a01 * b10 + a02 * b20 + a03 * b30;
            Elements[1] = a00 * b01 + a01 * b11 + a02 * b21 + a03 * b31;
            Elements[2] = a00 * b02 + a01 * b12 + a02 * b22 + a03 * b32;
            Elements[3] = a00 * b03 + a01 * b13 + a02 * b23 + a03 * b33;
            Elements[4] = a10 * b00 + a11 * b10 + a12 * b20 + a13 * b30;
            Elements[5] = a10 * b01 + a11 * b11 + a12 * b21 + a13 * b31;
            Elements[6] = a10 * b02 + a11 * b12 + a12 * b22 + a13 * b32;
            Elements[7] = a10 * b03 + a11 * b13 + a12 * b23 + a13 * b33;
            Elements[8] = a20 * b00 + a21 * b10 + a22 * b20 + a23 * b30;
            Elements[9] = a20 * b01 + a21 * b11 + a22 * b21 + a23 * b31;
            Elements[10] = a20 * b02 + a21 * b12 + a22 * b22 + a23 * b32;
            Elements[11] = a20 * b03 + a21 * b13 + a22 * b23 + a23 * b33;
            Elements[12] = a30 * b00 + a31 * b10 + a32 * b20 + a33 * b30;
            Elements[13] = a30 * b01 + a31 * b11 + a32 * b21 + a33 * b31;
            Elements[14] = a30 * b02 + a31 * b12 + a32 * b22 + a33 * b32;
            Elements[15] = a30 * b03 + a31 * b13 + a32 * b23 + a33 * b33;

            return this;
        }