/*! \file Enum_matrice.h \brief Enumeration des differents type de matrice possible. * \date 26/12/00 */ // FICHIER : Enum_matrice.h // This file is part of the Herezh++ application. // // The finite element software Herezh++ is dedicated to the field // of mechanics for large transformations of solid structures. // It is developed by Gérard Rio (APP: IDDN.FR.010.0106078.000.R.P.2006.035.20600) // INSTITUT DE RECHERCHE DUPUY DE LÔME (IRDL) . // // Herezh++ is distributed under GPL 3 license ou ultérieure. // // Copyright (C) 1997-2022 Université Bretagne Sud (France) // AUTHOR : Gérard Rio // E-MAIL : gerardrio56@free.fr // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, // or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // For more information, please consult: . /************************************************************************ * DATE: 26/12/00 * * $ * * AUTEUR: G RIO * * $ * * PROJET: Herezh++ * * $ * ************************************************************************ * BUT: Enumeration des differents type de matrice possible. * * $ * * '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * * * VERIFICATION: * * * * ! date ! auteur ! but ! * * ------------------------------------------------------------ * * ! ! ! ! * * $ * * '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * * MODIFICATIONS: * * ! date ! auteur ! but ! * * ------------------------------------------------------------ * * $ * ************************************************************************/ #ifndef ENUMTYPEMATRICE_H #define ENUMTYPEMATRICE_H #include using namespace std; /// @addtogroup Group_types_enumeres /// @{ /// Enumeration des differents type de matrice possible. enum Enum_matrice { RIEN_MATRICE = 1,CARREE, CARREE_SYMETRIQUE, RECTANGLE , BANDE_SYMETRIQUE, BANDE_NON_SYMETRIQUE ,CARREE_LAPACK,CARREE_SYMETRIQUE_LAPACK, RECTANGLE_LAPACK,BANDE_SYMETRIQUE_LAPACK, BANDE_NON_SYMETRIQUE_LAPACK ,TRIDIAGONALE_GENE_LAPACK , TRIDIAGONALE_DEF_POSITIVE_LAPACK ,CREUSE_NON_COMPRESSEE, CREUSE_COMPRESSEE_COLONNE, CREUSE_COMPRESSEE_LIGNE, DIAGONALE }; /// @} // end of group // Retourne un nom de type de matrice a partir de son identificateur de // type enumere id_matrice correspondant string Nom_matrice(Enum_matrice id_matrice); // Retourne l'identificateur de type enumere associe au nom du type // de matrice nom_matrice Enum_matrice Id_nom_matrice (const string& nom_matrice); // indique si le type existe ou pas, -> 1 ou 0 int Existe_Enum_matrice(string& nom_matrice); // indique si la matrice est de part son type, symétrique ou pas bool Symetrique_Enum_matrice(Enum_matrice id_matrice); // surcharge de l'operator de lecture istream & operator >> (istream & entree, Enum_matrice& a); // surcharge de l'operator d'ecriture ostream & operator << (ostream & sort, const Enum_matrice& a); #endif