X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flinal%2Fsquarematrix.h;h=5b9415a0e22bcddff7f738284b455a7a5a7cb76c;hb=febdd901857c88bcd4cd1be7abc4e6ae766e8a4a;hp=0a97e61172b6489c58e91296421e946cfddfb9d8;hpb=5797fe0a5296952cb8f8643fdc6cabddee19a554;p=libs%2Fmath.git diff --git a/source/linal/squarematrix.h b/source/linal/squarematrix.h index 0a97e61..5b9415a 100644 --- a/source/linal/squarematrix.h +++ b/source/linal/squarematrix.h @@ -24,6 +24,7 @@ public: static SquareMatrix identity(); SquareMatrix &operator*=(const SquareMatrix &); + using Matrix::operator*=; SquareMatrix &invert(); }; @@ -47,14 +48,16 @@ template SquareMatrix &SquareMatrix::invert() { SquareMatrix r = identity(); - return invert_matrix(*this, r); + gauss_jordan(*this, r); + return *this = r; } template inline SquareMatrix invert(const SquareMatrix &m) { - SquareMatrix r = m; - return r.invert(); + SquareMatrix temp = m; + SquareMatrix r = SquareMatrix::identity(); + return gauss_jordan(temp, r); } } // namespace LinAl