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; }
95 Int32 m_max_print = 0;
96 bool m_is_compare_ghost =
false;
97 IDataReader* m_data_reader =
nullptr;
107class ARCANE_CORE_EXPORT VariableComparerResults
111 VariableComparerResults() =
default;
112 explicit VariableComparerResults(
Int32 nb_diff)
118 void setNbDifference(
Int32 v) { m_nb_diff = v; }
119 Int32 nbDifference()
const {
return m_nb_diff; }
141class ARCANE_CORE_EXPORT VariableComparer
145 VariableComparer() =
default;
Déclarations des types généraux de Arcane.
Interface de lecture des données d'une variable.
Interface d'une variable.
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.
VariableComparerArgs buildForCheckIfSameOnAllReplica()
Créé une comparaison pour vérifie qu'une variable est identique sur tous les réplicas.
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.
VariableComparerArgs buildForCheckIfSync()
Créé une comparaison pour vérifie qu'une variable est bien synchronisée.
-*- 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.
eVariableComparerCompareMode
Méthode de comparaison à utiliser.
@ SameOnAllReplica
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.