diff --git a/matrix.cpp b/matrix.cpp index dcdb151d..28644528 100644 --- a/matrix.cpp +++ b/matrix.cpp @@ -130,7 +130,22 @@ util::matrix::inverse (void) const } -//----------------------------------------------------------------------------- +/////////////////////////////////////////////////////////////////////////////// +template +matrix +util::transposed (const matrix &m) +{ + util::matrix res; + + for (size_t y = 0; y < S; ++y) + for (size_t x = 0; x < S; ++x) + res[y][x] = m[x][y]; + + return res; +} + + +/////////////////////////////////////////////////////////////////////////////// template matrix matrix::operator* (const matrix &rhs) const diff --git a/matrix.hpp b/matrix.hpp index 70fb5987..2f1903a6 100644 --- a/matrix.hpp +++ b/matrix.hpp @@ -137,6 +137,12 @@ namespace util { matrix inverse (const matrix&); + template + matrix + transposed (const matrix&); + + /////////////////////////////////////////////////////////////////////////// + template matrix abs (const matrix&);