solver rework + refactor
This commit is contained in:
@@ -30,11 +30,11 @@ class Matrix {
|
||||
Matrix() : m_Raws(0), m_Columns(0) {}
|
||||
|
||||
/**
|
||||
* \brief Construit une matrice de taille donnée
|
||||
* \param raws Le nombre de lignes
|
||||
* \param columns Le nombre de colonne
|
||||
* \brief Construit une matrice de taille donnée remplit de données aléatoires (et peut-être invalides !)
|
||||
* \param a_Raws Le nombre de lignes
|
||||
* \param a_Columns Le nombre de colonne
|
||||
*/
|
||||
Matrix(std::size_t raws, std::size_t columns);
|
||||
Matrix(std::size_t a_Raws, std::size_t a_Columns);
|
||||
|
||||
/**
|
||||
* \brief Construit une matrice de taille donnée avec des éléments donnés.\n
|
||||
@@ -42,11 +42,11 @@ class Matrix {
|
||||
* \code Matrix(2, 2, {1, 2, 3, 4}) \endcode construit la matrice \n
|
||||
* [1, 2]\n
|
||||
* [3, 4]
|
||||
* \param raws Le nombre de lignes
|
||||
* \param columns Le nombre de colonne
|
||||
* \param initList Les élements à mettre
|
||||
* \param a_Raws Le nombre de lignes
|
||||
* \param a_Columns Le nombre de colonne
|
||||
* \param a_Elements Les élements à mettre
|
||||
*/
|
||||
Matrix(std::size_t raws, std::size_t columns, std::initializer_list<Element>&& initList);
|
||||
Matrix(std::size_t a_Raws, std::size_t a_Columns, std::initializer_list<Element>&& a_Elements);
|
||||
|
||||
~Matrix() {}
|
||||
|
||||
@@ -67,51 +67,51 @@ class Matrix {
|
||||
|
||||
/**
|
||||
* \brief Augmente la matrice actuelle avec une autre
|
||||
* \param right Une matrice avec le bon nombre de lignes
|
||||
* \pre GetRawCount() = right.GetRawCount()
|
||||
* \param a_Right Une matrice avec le bon nombre de lignes
|
||||
* \pre Les deux matrices doivent avoir le même nombre de lignes
|
||||
*/
|
||||
void Augment(const Matrix& right);
|
||||
void Augment(const Matrix& a_Right);
|
||||
|
||||
/**
|
||||
* \brief Retourne la sous-matrice spécifiée
|
||||
* \param raw_origin L'indice de la première ligne de la matrice à récupérer
|
||||
* \param column_origin L'indice de la première colonne de la matrice à récupérer
|
||||
* \param raw Le nombre de lignes de la sous-matrice
|
||||
* \param column Le nombre de colonnes de la sous-matrice
|
||||
* \pre raw_origin + raw <= GetRawCount()
|
||||
* \pre column_origin + column <= GetColumnCount()
|
||||
* \param a_RawOrigin L'indice de la première ligne de la matrice à récupérer
|
||||
* \param a_ColumnOrigin L'indice de la première colonne de la matrice à récupérer
|
||||
* \param a_RawCount Le nombre de lignes de la sous-matrice
|
||||
* \param a_ColumnCount Le nombre de colonnes de la sous-matrice
|
||||
* \pre a_RawOrigin + a_RawCount <= GetRawCount()
|
||||
* \pre a_ColumnOrigin + a_ColumnCount <= GetColumnCount()
|
||||
*/
|
||||
Matrix SubMatrix(std::size_t raw_origin, std::size_t column_origin, std::size_t raw, std::size_t column) const;
|
||||
Matrix SubMatrix(std::size_t a_RawOrigin, std::size_t a_ColumnOrigin, std::size_t a_RawCount, std::size_t a_ColumnCount) const;
|
||||
|
||||
Matrix operator+(const Matrix& other) const;
|
||||
Matrix operator-(const Matrix& other) const;
|
||||
Matrix operator+(const Matrix& a_Other) const;
|
||||
Matrix operator-(const Matrix& a_Other) const;
|
||||
|
||||
bool operator==(const Matrix& other) const;
|
||||
bool operator==(const Matrix& a_Other) const;
|
||||
|
||||
/**
|
||||
* \brief Effectue un produit matriciel
|
||||
*/
|
||||
Matrix operator*(const Matrix& other) const;
|
||||
Matrix operator*(const Matrix& a_Other) const;
|
||||
|
||||
/**
|
||||
* \brief Retourne l'élément à l'indice recherché
|
||||
* \param raw L'indice de la ligne
|
||||
* \param column L'indice de la colonne
|
||||
* \param a_Raw L'indice de la ligne
|
||||
* \param a_Column L'indice de la colonne
|
||||
*/
|
||||
Element& at(std::size_t raw, std::size_t column);
|
||||
Element& at(std::size_t a_Raw, std::size_t a_Column);
|
||||
|
||||
/**
|
||||
* \brief Retourne l'élément à l'indice recherché (version constante)
|
||||
* \param raw L'indice de la ligne
|
||||
* \param column L'indice de la colonne
|
||||
* \param a_Raw L'indice de la ligne
|
||||
* \param a_Column L'indice de la colonne
|
||||
*/
|
||||
Element at(std::size_t raw, std::size_t column) const;
|
||||
Element at(std::size_t a_Raw, std::size_t a_Column) const;
|
||||
|
||||
/**
|
||||
* \brief Construit une matrice identité de taille donnée
|
||||
* \param size La taille de la matrice carrée
|
||||
* \param a_Size La taille de la matrice carrée
|
||||
*/
|
||||
static Matrix Identity(std::size_t size);
|
||||
static Matrix Identity(std::size_t a_Size);
|
||||
|
||||
/**
|
||||
* \brief Construit une matrice colonne à partir de données existantes.\n
|
||||
@@ -121,7 +121,7 @@ class Matrix {
|
||||
* \endcode
|
||||
* construit une matrice de 4 lignes et 1 colonne de coordonnées (1, 2, 3, 4)
|
||||
*/
|
||||
static Matrix ColumnVector(std::initializer_list<Element>&&);
|
||||
static Matrix ColumnVector(std::initializer_list<Element>&& a_Elements);
|
||||
|
||||
/**
|
||||
* \brief Construit une matrice ligne à partir de données existantes.\n
|
||||
@@ -131,7 +131,7 @@ class Matrix {
|
||||
* \endcode
|
||||
* construit une matrice de 1 ligne et 4 colonnes de coordonnées (1, 2, 3, 4)
|
||||
*/
|
||||
static Matrix RawVector(std::initializer_list<Element>&&);
|
||||
static Matrix RawVector(std::initializer_list<Element>&& a_Elements);
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
|
||||
Reference in New Issue
Block a user