From 3764f5b830e939b598d670179c04e92b92fa4dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 5 Oct 2016 13:42:41 +0200 Subject: [PATCH] Math: don't zero-initialize output variables if not necessary. Could possibly save some cycles. --- src/Magnum/Math/Matrix.h | 4 ++-- src/Magnum/Math/RectangularMatrix.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Magnum/Math/Matrix.h b/src/Magnum/Math/Matrix.h index b34c7ed90..8e6515412 100644 --- a/src/Magnum/Math/Matrix.h +++ b/src/Magnum/Math/Matrix.h @@ -333,7 +333,7 @@ template bool Matrix::isOrthogonal() const { } template Matrix Matrix::ij(const std::size_t skipCol, const std::size_t skipRow) const { - Matrix out{ZeroInit}; + Matrix out{NoInit}; for(std::size_t col = 0; col != size-1; ++col) for(std::size_t row = 0; row != size-1; ++row) @@ -344,7 +344,7 @@ template Matrix Matrix::ij(const } template Matrix Matrix::inverted() const { - Matrix out{ZeroInit}; + Matrix out{NoInit}; const T _determinant = determinant(); diff --git a/src/Magnum/Math/RectangularMatrix.h b/src/Magnum/Math/RectangularMatrix.h index 41c60897f..a433736b9 100644 --- a/src/Magnum/Math/RectangularMatrix.h +++ b/src/Magnum/Math/RectangularMatrix.h @@ -523,7 +523,7 @@ template inline RectangularMatrix& matrix) { - RectangularMatrix out; + RectangularMatrix out{NoInit}; for(std::size_t i = 0; i != cols; ++i) out[i] = number/matrix[i]; @@ -687,7 +687,7 @@ template inline RectangularMatrix template inline RectangularMatrix RectangularMatrix::operator*(const RectangularMatrix& other) const { - RectangularMatrix out; + RectangularMatrix out{ZeroInit}; for(std::size_t col = 0; col != size; ++col) for(std::size_t row = 0; row != rows; ++row) @@ -698,7 +698,7 @@ template template } template inline RectangularMatrix RectangularMatrix::transposed() const { - RectangularMatrix out; + RectangularMatrix out{NoInit}; for(std::size_t col = 0; col != cols; ++col) for(std::size_t row = 0; row != rows; ++row)