diff --git a/.clang-format b/.clang-format index e993027..38e37ec 100644 --- a/.clang-format +++ b/.clang-format @@ -7,6 +7,8 @@ ConstructorInitializerAllOnOneLineOrOnePerLine: true PointerAlignment: Left SortIncludes: true SpacesBeforeTrailingComments: 2 +SeparateDefinitionBlocks: Always +SpaceBeforeCpp11BracedList: true UseTab: Always MaxEmptyLinesToKeep: 5 diff --git a/src/Matrix.cpp b/src/Matrix.cpp index a64fb97..422a22a 100644 --- a/src/Matrix.cpp +++ b/src/Matrix.cpp @@ -13,6 +13,7 @@ Matrix::Matrix(const std::string& fileNameInput) { Matrix::Matrix(std::size_t lignes, std::size_t colonnes) : m_Lignes(lignes), m_Colonnes(colonnes) { m_Data.resize(m_Lignes * m_Colonnes); } + Matrix::Matrix(std::size_t lignes, std::size_t colonnes, std::initializer_list&& initList) : m_Lignes(lignes), m_Colonnes(colonnes) { m_Data = initList; @@ -69,7 +70,7 @@ void Matrix::Insert() { } void Matrix::Save(const std::string& fileName) { - std::ofstream out{fileName}; + std::ofstream out {fileName}; if (!out) { std::cerr << "Impossible de sauvegarder la matrice !\n"; return; @@ -78,7 +79,7 @@ void Matrix::Save(const std::string& fileName) { } void Matrix::Load(const std::string& filename) { - std::ifstream in{filename}; + std::ifstream in {filename}; if (!in) { std::cerr << "Impossible de charger la matrice !\n"; return; @@ -87,7 +88,7 @@ void Matrix::Load(const std::string& filename) { } void Matrix::Transpose() { - Matrix result{m_Colonnes, m_Lignes}; + Matrix result {m_Colonnes, m_Lignes}; for (std::size_t i = 0; i < m_Lignes; i++) { for (std::size_t j = 0; j < m_Colonnes; j++) { result.at(j, i) = at(i, j); @@ -106,7 +107,7 @@ void Matrix::Identity() { } Matrix Matrix::Identity(std::size_t taille) { - Matrix id{taille, taille}; + Matrix id {taille, taille}; id.Identity(); return id; } @@ -126,7 +127,7 @@ bool Matrix::IsInversed() const { void Matrix::Augmenter(const Matrix& droite) { assert(droite.m_Lignes == m_Lignes); - Matrix temp{m_Lignes, m_Colonnes + droite.m_Colonnes}; + Matrix temp {m_Lignes, m_Colonnes + droite.m_Colonnes}; for (std::size_t i = 0; i < m_Lignes; i++) { for (std::size_t j = 0; j < m_Colonnes; j++) { @@ -245,7 +246,7 @@ std::size_t Matrix::GetColumnCount() const { Matrix Matrix::SubMatrix(std::size_t origine_ligne, std::size_t origine_colonne, std::size_t ligne, std::size_t colonne) const { assert(m_Lignes >= ligne && m_Colonnes >= colonne); - Matrix result{ligne, colonne}; + Matrix result {ligne, colonne}; for (std::size_t i = 0; i < ligne; i++) { for (std::size_t j = 0; j < colonne; j++) { diff --git a/src/NR.h b/src/NR.h index 8d6c6ce..b6c32d8 100644 --- a/src/NR.h +++ b/src/NR.h @@ -7,6 +7,8 @@ class NR { public: NR() : m_Numerator(0), m_Denominator(1) {} + NR(int entier) : m_Numerator(entier), m_Denominator(1) {} + NR(int numerator, int denominator) : m_Numerator(numerator), m_Denominator(denominator) {} }; \ No newline at end of file diff --git a/src/Solver.cpp b/src/Solver.cpp index ca71ef7..db4adf3 100644 --- a/src/Solver.cpp +++ b/src/Solver.cpp @@ -29,7 +29,7 @@ VectAffine Solver::SystemeTriangulaire() const { Matrix mat = m_Matrix; mat.GaussJordan(true); - Solver solver{mat.SubMatrix(0, 0, mat.GetRawCount(), mat.GetColumnCount() - 1)}; + Solver solver {mat.SubMatrix(0, 0, mat.GetRawCount(), mat.GetColumnCount() - 1)}; Vect noyau = solver.Noyau(); Matrix origin = mat.SubMatrix(0, mat.GetColumnCount() - 1, mat.GetRawCount(), 1); diff --git a/src/Solver.h b/src/Solver.h index f299f2e..c1d2eb7 100644 --- a/src/Solver.h +++ b/src/Solver.h @@ -8,6 +8,7 @@ class Solver { public: Solver(const Matrix& mat); + ~Solver() {} Vect Image() const; diff --git a/src/Vect.cpp b/src/Vect.cpp index 5ec21af..936a6fd 100644 --- a/src/Vect.cpp +++ b/src/Vect.cpp @@ -58,7 +58,7 @@ Matrix Vect::GetLinearSystem() const { Matrix vect = m_Data; vect.Transpose(); - Solver solver{vect}; + Solver solver {vect}; vect = solver.Noyau().m_Data; vect.Transpose(); return vect; diff --git a/src/Vect.h b/src/Vect.h index 9dbee22..64b587e 100644 --- a/src/Vect.h +++ b/src/Vect.h @@ -38,7 +38,6 @@ class Vect { void Simplify(); }; - class VectAffine { private: Vect m_Base; diff --git a/src/main.cpp b/src/main.cpp index d4a1693..cf4696a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,10 +16,10 @@ void test() { mat.Print(); // mat.Save("matrice4x4echelonne.mat"); */ - Matrix mat2{"matrice4x4.mat"}; + Matrix mat2 {"matrice4x4.mat"}; mat2.Print(); - Solver solver{mat2}; + Solver solver {mat2}; Vect image = solver.Image(); Vect noyau = solver.Noyau(); diff --git a/test/test_jordan.cpp b/test/test_jordan.cpp index 43efd2a..6272486 100644 --- a/test/test_jordan.cpp +++ b/test/test_jordan.cpp @@ -5,9 +5,9 @@ #error "Il faut ĂȘtre en debug mode ! xmake f -m debug" #endif -struct Test{ - Matrix mat; - Matrix res; +struct Test { + Matrix mat; + Matrix res; }; static const std::vector TEST_MATRICES = { @@ -35,9 +35,9 @@ static const std::vector TEST_MATRICES = { void test() { for (Test test : TEST_MATRICES) { - test.mat.GaussJordan(true); - assert(test.mat == test.res); - } + test.mat.GaussJordan(true); + assert(test.mat == test.res); + } } int main(int argc, char** argv) { diff --git a/test/test_solver.cpp b/test/test_solver.cpp index 27cc16b..876d7bc 100644 --- a/test/test_solver.cpp +++ b/test/test_solver.cpp @@ -14,15 +14,15 @@ int main() { std::cout << "Opening " << fileName << " ...\n"; - std::ifstream in{fileName}; + std::ifstream in {fileName}; - Matrix mat{1, 1}, imageMat{1, 1}, noyauMat{1, 1}; + Matrix mat {1, 1}, imageMat {1, 1}, noyauMat {1, 1}; in >> mat >> imageMat >> noyauMat; - Vect image{imageMat}; - Vect noyau{noyauMat}; + Vect image {imageMat}; + Vect noyau {noyauMat}; - Solver solver{mat}; + Solver solver {mat}; assert(solver.Image() == image); assert(solver.Noyau() == noyau);