12#ifndef ARCANE_CORE_VARIABLECOMPARER_H
13#define ARCANE_CORE_VARIABLECOMPARER_H
17#include "arcane/utils/TraceAccessor.h"
70 Int32 maxPrint()
const {
return m_max_print; }
82 bool isCompareGhost()
const {
return m_is_compare_ghost; }
84 void setDataReader(IDataReader* v) { m_data_reader = v; }
85 IDataReader* dataReader()
const {
return m_data_reader; }
87 void setCompareMode(eVariableComparerCompareMode v) { m_compare_mode = v; }
90 void setComputeDifferenceMethod(eVariableComparerComputeDifferenceMethod v) { m_compute_difference_method = v; }
93 void setReplicaParallelMng(IParallelMng* pm) { m_replica_parallel_mng = pm; }
94 IParallelMng* replicaParallelMng()
const {
return m_replica_parallel_mng; }
98 Int32 m_max_print = 0;
99 bool m_is_compare_ghost =
false;
100 IDataReader* m_data_reader =
nullptr;
103 IParallelMng* m_replica_parallel_mng =
nullptr;
111class ARCANE_CORE_EXPORT VariableComparerResults
115 VariableComparerResults() =
default;
116 explicit VariableComparerResults(
Int32 nb_diff)
122 void setNbDifference(
Int32 v) { m_nb_diff = v; }
123 Int32 nbDifference()
const {
return m_nb_diff; }
135class ARCANE_CORE_EXPORT VariableComparer
140 explicit VariableComparer(
ITraceMng* tm);
Déclarations des types généraux de Arcane.
Interface de lecture des données d'une variable.
Interface du gestionnaire de traces.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Arguments des méthodes de VariableComparer.
void setMaxPrint(Int32 v)
Positionne le nombre d'erreurs à afficher dans le listing.
void setCompareGhost(bool v)
Indique sur quelles entités on fait la comparaison.
Résultats d'une opération de comparaison.
VariableComparerResults apply(IVariable *var, const VariableComparerArgs &compare_args)
Applique la comparaison compare_args à la variable var.
VariableComparerArgs buildForCheckIfSame(IDataReader *data_reader)
Créé une comparaison pour vérifie qu'une variable est identique à une valeur de référence.
Int32 checkIfSame(IVariable *var, IDataReader *reader, Int32 max_print, bool compare_ghost)
Vérifie que la variable var est identique à une valeur de référence.
Int32 checkIfSync(IVariable *var, Int32 max_print)
Vérifie si la variable var est bien synchronisée.
Int32 checkIfSameOnAllReplica(IVariable *var, Integer max_print)
Vérifie si la variable var a les mêmes valeurs sur tous les réplicas.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eVariableComparerComputeDifferenceMethod
Méthode utilisée pour calculer la différence entre deux valeurs v1 et v2.
@ Relative
Utilise (v1-v2) / v1.
@ LocalNormMax
Utilise (v1-v2) / local_norm_max.
Int32 Integer
Type représentant un entier.
eVariableComparerCompareMode
Méthode de comparaison à utiliser.
@ SameReplica
Vérifie que les valeurs de la variable sont les même sur tous les replica.
@ Same
Compare avec une référence.
@ Sync
Vérifie que la variable est bien synchronisée.
std::int32_t Int32
Type entier signé sur 32 bits.