Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::ISimpleTableComparatorabstract

Interface de classe représentant un comparateur de tableaux. À utiliser avec un service implémentant ISimpleTableOutput. Plus de détails...

#include <arcane/core/ISimpleTableComparator.h>

+ Graphe d'héritage de Arcane::ISimpleTableComparator:
+ Graphe de collaboration de Arcane::ISimpleTableComparator:

Fonctions membres publiques

virtual void init (ISimpleTableOutput *simple_table_output_ptr)=0
 Méthode permettant d'initialiser le service.
 
virtual void clear ()=0
 Méthode permettant d'effacer les données lues par readReferenceFile().
 
virtual void print (Integer rank=0)=0
 Méthode permettant d'afficher le tableau lu.
 
virtual void editRootDirectory (const Directory &root_directory)=0
 Méthode permettant de modifier le répertoire racine. Cela permet d'écrire ou de rechercher des fichiers de réferences autre part que dans le répertoire déterminé par l'implémentation.
 
virtual bool writeReferenceFile (Integer rank=-1)=0
 Méthode permettant d'écrire les fichiers de référence.
 
virtual bool readReferenceFile (Integer rank=-1)=0
 Méthode permettant de lire les fichiers de références.
 
virtual bool isReferenceExist (Integer rank=-1)=0
 Méthode permettant de savoir si les fichiers de réferences existent.
 
virtual bool compareWithReference (Integer rank=-1, bool compare_dimension_too=false)=0
 Méthode permettant de comparer l'objet de type ISimpleTableOutput aux fichiers de réferences.
 
virtual bool compareElemWithReference (const String &column_name, const String &row_name, Integer rank=-1)=0
 Méthode permettant de comparer uniquement un élement. Les deux SimpleTableInternal sont représentés par des Ref, donc toujours à jour. Cette méthode peut être utilisé pendant le calcul, permettant de comparer les valeurs au fur et à mesure de l'avancement du calcul, au lieu de faire une comparaison final à la fin (il est tout de même possible de faire les deux).
 
virtual bool compareElemWithReference (Real elem, const String &column_name, const String &row_name, Integer rank=-1)=0
 Méthode permettant de comparer une valeur avec une valeur du tableau de référence. Cette méthode n'a pas besoin d'un internal 'toCompare' (setInternalToCompare() non nécessaire).
 
virtual bool addColumnForComparing (const String &column_name)=0
 Méthode permettant d'ajouter une colonne dans la liste des colonnes à comparer.
 
virtual bool addRowForComparing (const String &row_name)=0
 Méthode permettant d'ajouter une ligne dans la liste des lignes à comparer.
 
virtual void isAnArrayExclusiveColumns (bool is_exclusive)=0
 Méthode permettant de définir si le tableau de colonnes représente les colonnes à inclure dans la comparaison (false/par défaut) ou représente les colonnes à exclure de la comparaison (true).
 
virtual void isAnArrayExclusiveRows (bool is_exclusive)=0
 Méthode permettant de définir si le tableau de lignes représente les lignes à inclure dans la comparaison (false/par défaut) ou représente les lignes à exclure de la comparaison (true).
 
virtual void editRegexColumns (const String &regex_column)=0
 Méthode permettant d'ajouter une expression régulière permettant de déterminer les colonnes à comparer.
 
virtual void editRegexRows (const String &regex_row)=0
 Méthode permettant d'ajouter une expression régulière permettant de déterminer les lignes à comparer.
 
virtual void isARegexExclusiveColumns (bool is_exclusive)=0
 Méthode permettant de demander à ce que l'expression régulière exclut des colonnes au lieu d'en inclure.
 
virtual void isARegexExclusiveRows (bool is_exclusive)=0
 Méthode permettant de demander à ce que l'expression régulière exclut des lignes au lieu d'en inclure.
 
virtual bool addEpsilonColumn (const String &column_name, Real epsilon)=0
 Méthode permettant de définir un epsilon pour une colonne donnée. Cet epsilon doit être positif pour être pris en compte. S'il y a confit avec un epsilon de ligne (défini avec addEpsilonRow()), c'est l'epsilon le plus grand qui est pris en compte.
 
virtual bool addEpsilonRow (const String &row_name, Real epsilon)=0
 Méthode permettant de définir un epsilon pour une ligne donnée. Cet epsilon doit être positif pour être pris en compte. S'il y a confit avec un epsilon de colonne (défini avec addEpsilonColumn()), c'est l'epsilon le plus grand qui est pris en compte.
 

Description détaillée

Interface de classe représentant un comparateur de tableaux. À utiliser avec un service implémentant ISimpleTableOutput.

La différence avec ISimpleTableInternalComparator est que l'on compare un SimpleTableInternal contenu dans un ISimpleTableOutput avec un SimpleTableInternal généré à partir d'un fichier de référence.

Cette interface permet aussi de générer les fichiers de référence en utilisant le nom de répertoire et le nom de tableau du ISimpleTableOutput, permettant de faciliter le processus.

Définition à la ligne 50 du fichier ISimpleTableComparator.h.

Documentation des fonctions membres

◆ addColumnForComparing()

virtual bool Arcane::ISimpleTableComparator::addColumnForComparing ( const String column_name)
pure virtual

Méthode permettant d'ajouter une colonne dans la liste des colonnes à comparer.

Paramètres
column_nameLe nom de la colonne à comparer.
Renvoie
true Si le nom a bien été ajouté.
false Sinon.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ addEpsilonColumn()

virtual bool Arcane::ISimpleTableComparator::addEpsilonColumn ( const String column_name,
Real  epsilon 
)
pure virtual

Méthode permettant de définir un epsilon pour une colonne donnée. Cet epsilon doit être positif pour être pris en compte. S'il y a confit avec un epsilon de ligne (défini avec addEpsilonRow()), c'est l'epsilon le plus grand qui est pris en compte.

Note
Si un epsilon a déjà été défini sur cette colonne, alors l'ancien epsilon sera remplacé.
Paramètres
column_nameLe nom de la colonne où l'epsilon sera pris en compte.
epsilonLa marge d'erreur epsilon.
Renvoie
true Si l'epsilon a bien pu être défini.
false Si l'epsilon n'a pas pu être défini.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ addEpsilonRow()

virtual bool Arcane::ISimpleTableComparator::addEpsilonRow ( const String row_name,
Real  epsilon 
)
pure virtual

Méthode permettant de définir un epsilon pour une ligne donnée. Cet epsilon doit être positif pour être pris en compte. S'il y a confit avec un epsilon de colonne (défini avec addEpsilonColumn()), c'est l'epsilon le plus grand qui est pris en compte.

Note
Si un epsilon a déjà été défini sur cette ligne, alors l'ancien epsilon sera remplacé.
Paramètres
column_nameLe nom de la ligne où l'epsilon sera pris en compte.
epsilonLa marge d'erreur epsilon.
Renvoie
true Si l'epsilon a bien pu être défini.
false Si l'epsilon n'a pas pu être défini.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ addRowForComparing()

virtual bool Arcane::ISimpleTableComparator::addRowForComparing ( const String row_name)
pure virtual

Méthode permettant d'ajouter une ligne dans la liste des lignes à comparer.

Paramètres
row_nameLe nom de la ligne à comparer.
Renvoie
true Si le nom a bien été ajouté.
false Sinon.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ clear()

virtual void Arcane::ISimpleTableComparator::clear ( )
pure virtual

Méthode permettant d'effacer les données lues par readReferenceFile().

Note
Efface le SimpleTableInternal du comparateur sans toucher à celui du SimpleTableOutput.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ compareElemWithReference() [1/2]

virtual bool Arcane::ISimpleTableComparator::compareElemWithReference ( const String column_name,
const String row_name,
Integer  rank = -1 
)
pure virtual

Méthode permettant de comparer uniquement un élement. Les deux SimpleTableInternal sont représentés par des Ref, donc toujours à jour. Cette méthode peut être utilisé pendant le calcul, permettant de comparer les valeurs au fur et à mesure de l'avancement du calcul, au lieu de faire une comparaison final à la fin (il est tout de même possible de faire les deux).

Paramètres
column_nameLe nom de la colonne où se trouve l'élément.
row_nameLe nom de la ligne où se trouve l'élément.
rankLe processus qui doit comparer ses résultats (-1 pour tous les processus).
Renvoie
true Si les deux valeurs sont égales.
false Si les deux valeurs sont différentes.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ compareElemWithReference() [2/2]

virtual bool Arcane::ISimpleTableComparator::compareElemWithReference ( Real  elem,
const String column_name,
const String row_name,
Integer  rank = -1 
)
pure virtual

Méthode permettant de comparer une valeur avec une valeur du tableau de référence. Cette méthode n'a pas besoin d'un internal 'toCompare' (setInternalToCompare() non nécessaire).

Paramètres
elemLa valeur à comparer.
column_nameLe nom de la colonne où se trouve l'élément de référence.
row_nameLe nom de la ligne où se trouve l'élément de référence.
rankLe processus qui doit comparer ses résultats (-1 pour tous les processus).
Renvoie
true Si les deux valeurs sont égales.
false Si les deux valeurs sont différentes.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ compareWithReference()

virtual bool Arcane::ISimpleTableComparator::compareWithReference ( Integer  rank = -1,
bool  compare_dimension_too = false 
)
pure virtual

Méthode permettant de comparer l'objet de type ISimpleTableOutput aux fichiers de réferences.

Paramètres
rankLe processus qui doit comparer ses résultats (-1 pour tous les processus).
compare_dimension_tooSi l'on doit aussi comparer les dimensions des tableaux de valeurs.
Renvoie
true S'il n'y a pas de différences (et si processus appelant != rank).
false S'il y a au moins une différence.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ editRegexColumns()

virtual void Arcane::ISimpleTableComparator::editRegexColumns ( const String regex_column)
pure virtual

Méthode permettant d'ajouter une expression régulière permettant de déterminer les colonnes à comparer.

Paramètres
regex_columnL'expression régulière (format ECMAScript).

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ editRegexRows()

virtual void Arcane::ISimpleTableComparator::editRegexRows ( const String regex_row)
pure virtual

Méthode permettant d'ajouter une expression régulière permettant de déterminer les lignes à comparer.

Paramètres
regex_rowL'expression régulière (format ECMAScript).

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ editRootDirectory()

virtual void Arcane::ISimpleTableComparator::editRootDirectory ( const Directory root_directory)
pure virtual

Méthode permettant de modifier le répertoire racine. Cela permet d'écrire ou de rechercher des fichiers de réferences autre part que dans le répertoire déterminé par l'implémentation.

Par défaut, pour l'implémentation csv, le répertoire racine est : ./output/csv_ref/

Paramètres
root_directoryLe nouveau répertoire racine.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ init()

virtual void Arcane::ISimpleTableComparator::init ( ISimpleTableOutput simple_table_output_ptr)
pure virtual

Méthode permettant d'initialiser le service.

Le pointeur vers une implémentation de ISimpleTableOutput doit contenir les valeurs à comparer ou à écrire en tant que valeurs de référence et l'emplacement de destination des fichiers de sorties, pour que soit automatiquement déterminé l'emplacement des fichiers de réferences.

Paramètres
simple_table_output_ptrUne implémentation de ISimpleTableOutput.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ isAnArrayExclusiveColumns()

virtual void Arcane::ISimpleTableComparator::isAnArrayExclusiveColumns ( bool  is_exclusive)
pure virtual

Méthode permettant de définir si le tableau de colonnes représente les colonnes à inclure dans la comparaison (false/par défaut) ou représente les colonnes à exclure de la comparaison (true).

Paramètres
is_exclusivetrue si les colonnes doivent être exclus.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ isAnArrayExclusiveRows()

virtual void Arcane::ISimpleTableComparator::isAnArrayExclusiveRows ( bool  is_exclusive)
pure virtual

Méthode permettant de définir si le tableau de lignes représente les lignes à inclure dans la comparaison (false/par défaut) ou représente les lignes à exclure de la comparaison (true).

Paramètres
is_exclusivetrue si les lignes doivent être exclus.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ isARegexExclusiveColumns()

virtual void Arcane::ISimpleTableComparator::isARegexExclusiveColumns ( bool  is_exclusive)
pure virtual

Méthode permettant de demander à ce que l'expression régulière exclut des colonnes au lieu d'en inclure.

Paramètres
is_exclusiveSi l'expression régulière est excluante.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ isARegexExclusiveRows()

virtual void Arcane::ISimpleTableComparator::isARegexExclusiveRows ( bool  is_exclusive)
pure virtual

Méthode permettant de demander à ce que l'expression régulière exclut des lignes au lieu d'en inclure.

Paramètres
is_exclusiveSi l'expression régulière est excluante.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ isReferenceExist()

virtual bool Arcane::ISimpleTableComparator::isReferenceExist ( Integer  rank = -1)
pure virtual

Méthode permettant de savoir si les fichiers de réferences existent.

Paramètres
rankLe processus qui doit chercher son fichier (-1 pour tous les processus).
Renvoie
true Si le fichier a été trouvé (et si processus appelant != rank).
false Si le fichier n'a pas été trouvé.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ print()

virtual void Arcane::ISimpleTableComparator::print ( Integer  rank = 0)
pure virtual

Méthode permettant d'afficher le tableau lu.

Paramètres
rankLe processus qui doit afficher son tableau (-1 pour tous les processus).

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ readReferenceFile()

virtual bool Arcane::ISimpleTableComparator::readReferenceFile ( Integer  rank = -1)
pure virtual

Méthode permettant de lire les fichiers de références.

Le type des fichiers de référence doit correspondre à l'implémentation de cette interface choisi (exemple : fichier .csv -> SimpleCsvComparatorService).

Paramètres
rankLe processus qui doit lire son fichier (-1 pour tous les processus).
Renvoie
true Si le fichier a été lu (et si processus appelant != rank).
false Si le fichier n'a pas été lu.

Implémenté dans Arcane::SimpleCsvComparatorService.

◆ writeReferenceFile()

virtual bool Arcane::ISimpleTableComparator::writeReferenceFile ( Integer  rank = -1)
pure virtual

Méthode permettant d'écrire les fichiers de référence.

Avertissement
(Pour l'instant), cette méthode utilise l'objet pointé par le pointeur donné lors de l'init(), donc l'écriture s'effectura dans le format voulu par l'implémentation de ISimpleTableOutput. Si les formats de lecture et d'écriture ne correspondent pas, un appel à "compareWithReference()" retournera forcement false.
Paramètres
rankLe processus qui doit écrire son fichier (-1 pour tous les processus).
Renvoie
true Si l'écriture a bien eu lieu (et si processus appelant != rank).
false Si l'écriture n'a pas eu lieu.

Implémenté dans Arcane::SimpleCsvComparatorService.


La documentation de cette classe a été générée à partir du fichier suivant :