16#include <Champ_Fonc_Tabule.h>
17#include <Champ_Uniforme.h>
35 Cerr <<
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << finl;
36 Cerr <<
"Error: you are using an obsolete syntax for the keyword " << nom_class <<
" :" << finl;
37 Cerr <<
"Your should specify the problem name first instead of " << val1 << finl;
38 Cerr <<
"New syntax is: " << nom_class <<
" problem_name field_name ncomp expression" << finl;
44 Cerr <<
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << finl;
45 Cerr <<
"Error: you are using an obsolete syntax for the keyword " << nom_class <<
" :" << finl;
46 Cerr <<
"Your should specify the field name instead of " << val2 << finl;
47 Cerr <<
"New syntax is: " << nom_class <<
" problem_name field_name ncomp expression" << finl;
54 std::string s((
const char*) val);
56 auto checkNotDig = [](
unsigned char c)
57 {
return !std::isdigit(c);};
58 return (!s.empty() && std::find_if(s.begin(), s.end(), checkNotDig) == s.end());
86 const Motcle accolade_ouverte(
"{"), accolade_fermee(
"}");
88 if (motlu != accolade_ouverte)
90 Cerr <<
"You are using an old syntaxe, you should now use:"<< finl;
91 Cerr <<
"Champ_Fonc_Tabule { problem_name field_name } ncomp { table }" << finl;
111 if (motlu == accolade_ouverte)
115 for (
int n = 0; n < nb_param; n++)
118 DoubleVect param(nb_val);
119 for (
int i = 0; i < nb_val; i++)
127 for (
int n = 0; n < nb_param; n++)
128 size *= params[n].size();
131 DoubleVect tab_valeurs(size);
132 for (
int i = 0; i < size; i++)
133 is >> tab_valeurs[i];
134 la_table.remplir(params, tab_valeurs);
137 if (motlu != accolade_fermee)
139 Cerr <<
"Error reading from an object of type Champ_Fonc_Tabule" << finl;
140 Cerr <<
"We expected keyword } instead of " << motlu << finl;
144 else if (motlu ==
"fonction")
146 Cerr <<
"The syntax has changed..." << finl;
147 Cerr <<
"The syntax is now Champ_Fonc_fonction problem field 1 field_expression" << finl;
152 Cerr <<
"Error reading from an object of type Champ_Fonc_Tabule" << finl;
153 Cerr <<
"We expected keyword { or fonction instead of " << motlu << finl;
161 if (!le_champ_tabule_dis)
162 Cerr <<
le_nom() <<
"type : " <<
que_suis_je() <<
" can not be assigned to " << ch.
le_nom() <<
" because " <<
le_nom() <<
" is incomplete " << finl;
Classe Champ_Fonc_Tabule Classe derivee de Champ_Fonc_base qui represente les.
Champ_base & affecter_(const Champ_base &) override
Affecte un Champ_base dans un Champ_Fonc_base.
const DoubleTab & valeurs() const override
static bool Check_if_int(const Nom &val)
Noms noms_champs_parametre_
static void Warn_old_chp_fonc_syntax_V_184(const char *nom_class, const Nom &val1, const Nom &val2)
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
virtual DoubleTab & valeurs()=0
int lire_dimension(Entree &, const Nom &)
Verification de la dimension du champ Renvoie la dimension du champ.
Champ_base()
Constructeur par defaut d'un Champ_base.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void fixer_nb_comp(int i)
Fixe le nombre de composantes du champ.
const Nom & le_nom() const override
Renvoie le nom du champ.
class Nom Une chaine de caractere pour nommer les objets de TRUST
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.
value_type & add()=delete