#pragma once

/**
 * \file Gauss.h
 * \brief Contient la définition de l'algorithme de Gauss
 */

class Matrix;

namespace Gauss {

/**
 * \brief Echelonne une matrice en ligne 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 GaussJordan(Matrix& a_Matrix, bool a_Reduite, bool a_Normalise);

}  // namespace Gauss