14#include "arcane/std/SimpleTableInternalComparator.h"
16#include "arcane/utils/ITraceMng.h"
17#include "arcane/utils/Numeric.h"
42 m_simple_table_internal_reference->m_parallel_mng->
traceMng()->
warning() <<
"Dimensions not equals -- Expected dimensions: "
43 <<
dim1 <<
"x" <<
dim2 <<
" -- Found dimensions: "
51 for (Integer i = 0; i <
dim1; i++) {
52 String row = m_simple_table_internal_mng_reference.
rowName(i);
64 for (Integer
j = 0;
j <
dim2;
j++) {
71 const Real
val1 = m_simple_table_internal_mng_reference.
element(column, row,
false);
72 const Real
val2 = m_simple_table_internal_mng_to_compare.
element(column, row,
false);
87 m_simple_table_internal_reference->m_parallel_mng->
traceMng()->
warning()
88 << std::scientific << std::setprecision(std::numeric_limits<Real>::digits10)
89 <<
"Values not equals -- Column name: \"" << column <<
"\" -- Row name: \"" << row
90 <<
"\" -- Expected value: " <<
val1 <<
" -- Found value: " <<
val2
98 m_simple_table_internal_reference->m_parallel_mng->
traceMng()->
warning()
148 m_is_excluding_regex_rows =
false;
150 m_regex_columns =
"";
151 m_is_excluding_regex_columns =
false;
153 m_rows_to_compare.
clear();
154 m_columns_to_compare.
clear();
156 m_epsilons_column.clear();
157 m_epsilons_row.clear();
229 return m_simple_table_internal_reference;
236 ARCANE_FATAL(
"La réference passée en paramètre est Null.");
237 m_simple_table_internal_reference =
sti_ref;
238 m_simple_table_internal_mng_reference.
setInternal(m_simple_table_internal_reference);
244 return m_simple_table_internal_to_compare;
251 ARCANE_FATAL(
"La réference passée en paramètre est Null.");
253 m_simple_table_internal_mng_to_compare.
setInternal(m_simple_table_internal_to_compare);
271 if (m_columns_to_compare.
empty() && m_regex_columns.
empty()) {
276 return !m_is_excluding_array_columns;
280 else if (m_regex_columns.
empty()) {
281 return m_is_excluding_array_columns;
286 std::regex
self_regex(m_regex_columns.
localstr(), std::regex_constants::ECMAScript | std::regex_constants::icase);
290 return !m_is_excluding_regex_columns;
294 return m_is_excluding_regex_columns;
309 if (m_rows_to_compare.
empty() && m_regex_rows.
empty()) {
315 return !m_is_excluding_array_rows;
318 else if (m_regex_rows.
empty()) {
319 return m_is_excluding_array_rows;
324 std::regex
self_regex(m_regex_rows.
localstr(), std::regex_constants::ECMAScript | std::regex_constants::icase);
326 return !m_is_excluding_regex_rows;
329 return m_is_excluding_regex_rows;
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
bool compare(bool compare_dimension_too) override
Méthode permettant de comparer les valeurs des deux STI.
Ref< SimpleTableInternal > internalRef() override
Méthode permettant de récupérer une référence vers l'objet SimpleTableInternal "de référence" utilisé...
bool _exploreColumn(const String &column_name)
Méthode permettant de savoir si la colonne avec le nom column_name doit être exploré ou non.
void setInternalToCompare(const Ref< SimpleTableInternal > &simple_table_internal) override
Méthode permettant de définir une référence vers SimpleTableInternal "à comparer".
void isAnArrayExclusiveRows(bool is_exclusive) override
Méthode permettant de définir si le tableau de lignes représente les lignes à inclure dans la compara...
void setInternalRef(const Ref< SimpleTableInternal > &simple_table_internal) override
Méthode permettant de définir une référence vers un SimpleTableInternal "de référence".
void isAnArrayExclusiveColumns(bool is_exclusive) override
Méthode permettant de définir si le tableau de colonnes représente les colonnes à inclure dans la com...
Ref< SimpleTableInternal > internalToCompare() override
Méthode permettant de récupérer une référence vers l'objet SimpleTableInternal "à comparer" utilisé.
bool addEpsilonRow(const String &row_name, Real epsilon) override
Méthode permettant de définir un epsilon pour une ligne donnée. Cet epsilon doit être positif pour êt...
bool addRowForComparing(const String &row_name) override
Méthode permettant d'ajouter une ligne dans la liste des lignes à comparer.
bool _exploreRows(const String &row_name)
Méthode permettant de savoir si la ligne avec le nom column_name doit être exploré ou non.
bool compareElem(const String &column_name, const String &row_name) override
Méthode permettant de comparer uniquement un élement. Les deux SimpleTableInternal sont représentés p...
void isARegexExclusiveRows(bool is_exclusive) override
Méthode permettant de demander à ce que l'expression régulière exclut des lignes au lieu d'en inclure...
bool addColumnForComparing(const String &column_name) override
Méthode permettant d'ajouter une colonne dans la liste des colonnes à comparer.
void editRegexColumns(const String ®ex_column) override
Méthode permettant d'ajouter une expression régulière permettant de déterminer les colonnes à compare...
void editRegexRows(const String ®ex_row) override
Méthode permettant d'ajouter une expression régulière permettant de déterminer les lignes à comparer.
void isARegexExclusiveColumns(bool is_exclusive) override
Méthode permettant de demander à ce que l'expression régulière exclut des colonnes au lieu d'en inclu...
void clearComparator() override
Méthode permettant de vider les tableaux de comparaison et les expressions régulières....
bool addEpsilonColumn(const String &column_name, Real epsilon) override
Méthode permettant de définir un epsilon pour une colonne donnée. Cet epsilon doit être positif pour ...
Integer rowPosition(const String &row_name) override
Méthode permettant de récupérer la position d'une ligne.
String columnName(Integer position) override
Méthode permettant de récupérer le nom d'une colonne à partir de sa position.
Integer numberOfRows() override
Méthode permettant de récupérer le nombre de lignes dans le tableau. C'est, en quelque sorte,...
void setInternal(const Ref< SimpleTableInternal > &simple_table_internal) override
Méthode permettant de définir une référence vers un SimpleTableInternal.
Real element() override
Méthode permettant d'obtenir une copie d'un élement.
String rowName(Integer position) override
Méthode permettant de récupérer le nom d'une ligne à partir de sa position.
Integer numberOfColumns() override
Méthode permettant de récupérer le nombre de colonnes dans le tableau. C'est, en quelque sorte,...
Integer columnPosition(const String &column_name) override
Méthode permettant de récupérer la position d'une colonne.
bool empty() const
Capacité (nombre d'éléments alloués) du vecteur.
bool contains(ConstReferenceType v) const
Vrai si le tableau contient l'élément de valeur v.
void add(ConstReferenceType val)
Ajoute l'élément val à la fin du tableau.
void clear()
Supprime les éléments du tableau.
virtual TraceMessage warning()=0
Flot pour un message d'avertissement.
Chaîne de caractères unicode.
bool empty() const
Vrai si la chaîne est vide (nulle ou "")
const char * localstr() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
ITraceMng * traceMng() const
Gestionnaire de trace.
T max(const T &a, const T &b, const T &c)
Retourne le maximum de trois éléments.
constexpr ARCCORE_HOST_DEVICE bool isNearlyEqual(const _Type &a, const _Type &b)
Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalen...
constexpr ARCCORE_HOST_DEVICE bool isNearlyEqualWithEpsilon(const _Type &a, const _Type &b, const _Type &epsilon)
Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalen...
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-