more optimizations
Some checks failed
Linux arm64 / Build (push) Failing after 25s

This commit is contained in:
2024-05-09 15:56:59 +02:00
parent dc31f1f091
commit 5391b7b76a
8 changed files with 72 additions and 78 deletions

View File

@@ -17,12 +17,4 @@ namespace Gauss {
*/
void GaussJordan(Matrix& a_Matrix, bool a_Reduite, bool a_Normalise);
/**
* \brief Echelonne une matrice en colonne en utilisant l'algorithme de Gauss-Jordan
* \param a_Matrix La matrice à échelonner
* \param a_Reduite Mets des 0 au dessus des pivots
* \param a_Normalise Mets les pivots à 1
*/
void GaussJordanColumn(Matrix& a_Matrix, bool a_Reduite, bool a_Normalise);
} // namespace Gauss

View File

@@ -17,6 +17,7 @@
class Matrix {
public:
typedef long double Element;
typedef std::vector<Element>::iterator iterator;
private:
std::size_t m_Raws;
@@ -145,6 +146,11 @@ class Matrix {
* construit une matrice de 1 ligne et 4 colonnes de coordonnées (1, 2, 3, 4)
*/
static Matrix RawVector(std::initializer_list<Element>&& a_Elements);
iterator begin();
iterator end();
iterator GetLineIterator(std::size_t a_Raw);
};
template <typename T>

View File

@@ -21,7 +21,7 @@ class Vect {
* Les colonnes de 0 sont ignorées
* \param a_Matrix Une matrice échelonnée.
*/
Vect(const Matrix& a_Matrix);
Vect(Matrix&& a_Matrix);
/**
* \brief Permet d'obtenir le ieme vecteur de la base