diff options
Diffstat (limited to 'src/Math/Matrix.hpp')
| -rw-r--r-- | src/Math/Matrix.hpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Math/Matrix.hpp b/src/Math/Matrix.hpp index d467f72..56663e0 100644 --- a/src/Math/Matrix.hpp +++ b/src/Math/Matrix.hpp @@ -7,18 +7,18 @@ template <size_t R, size_t C, typename T = float> struct Matrix { - Matrix() : elements{} {}; + Matrix() : elements{} {} explicit Matrix(const T scalar) { std::fill(elements, elements + R * C, scalar); - }; + } - template<typename ...Args, typename std::enable_if_t<sizeof...(Args) == R * C, int> = 0> - Matrix(Args... args): elements{ args... } {}; + template<typename ...Args, std::enable_if_t<sizeof...(Args) == R * C, int> = 0> + Matrix(Args... args): elements{ args... } {} explicit Matrix(const T values[R * C]) { std::copy(values, values + R * C, elements); - }; + } static Matrix<R, R, T> identity() { Matrix<R, R, T> result{}; @@ -68,7 +68,7 @@ struct Matrix { } Vector<C, T> row(size_t index) const { - return { &elements[index * C] }; + return Vector<C, T>{ &elements[index * C] }; } Vector<R, T> col(size_t index) const { @@ -124,7 +124,7 @@ struct Matrix { Vector<R, T> operator*(const Vector<R, T> vector) const { Matrix<R, 1, T> matrix(vector.elements); matrix = this->operator*(matrix); - return { matrix.elements }; + return Vector<R, T>{ matrix.elements }; } const T& operator()(const size_t x, const size_t y) const { |
