From 911f016bb7d62eafd7213be6115fe30e69da1f34 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Tue, 5 Mar 2024 21:14:08 +0100 Subject: [PATCH] add RawVector --- include/Matrix.h | 10 ++++++++++ src/Matrix.cpp | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/include/Matrix.h b/include/Matrix.h index 795072f..093f449 100644 --- a/include/Matrix.h +++ b/include/Matrix.h @@ -122,6 +122,16 @@ class Matrix { * construit une matrice de 4 lignes et 1 colonne de coordonnées (1, 2, 3, 4) */ static Matrix ColumnVector(std::initializer_list&&); + + /** + * \brief Construit une matrice ligne à partir de données existantes.\n + * Exemple : + * \code + * Matrix::RawVector({1, 2, 3, 4}); + * \endcode + * construit une matrice de 1 ligne et 4 colonnes de coordonnées (1, 2, 3, 4) + */ + static Matrix RawVector(std::initializer_list&&); }; template diff --git a/src/Matrix.cpp b/src/Matrix.cpp index fa8ee1f..0f05051 100644 --- a/src/Matrix.cpp +++ b/src/Matrix.cpp @@ -65,6 +65,14 @@ Matrix Matrix::ColumnVector(std::initializer_list&& initList) { return result; } +Matrix Matrix::RawVector(std::initializer_list&& initList) { + Matrix result {1, initList.size()}; + + result.m_Data = initList; + + return result; +} + void Matrix::Augment(const Matrix& droite) { assert(droite.m_Raws == m_Raws); Matrix temp {m_Raws, m_Columns + droite.m_Columns};