Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
IVerifierService.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2024 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IVerifierService.h (C) 2000-2024 */
9/* */
10/* Interface du service de vérification des données entre deux exécutions. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_IVERIFIERSERVICE_H
13#define ARCANE_CORE_IVERIFIERSERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \ingroup StandardService
29 * \brief Interface du service de vérification des données
30 * entre deux exécutions.
31 */
33{
34 public:
35
36 /*!
37 * \brief Mode de comparaison
38 */
39 enum class eCompareMode
40 {
41 //! Compare toutes les valeurs
42 Values,
43 /*!
44 * \brief Compare uniquement les hash des valeurs.
45 *
46 * Ce mode permet uniquement de détecter si deux valeurs sont différentes
47 * sans pouvoir connaitre cette différence. Il est cependant plus rapide
48 * que le mode \a Values et permet de limiter la taille des fichiers
49 * de comparaison.
50 */
52 };
53
54 public:
55
56 //! Libère les ressources
57 virtual ~IVerifierService() = default;
58
59 public:
60
61 //! Ecrit le fichier référence
62 virtual void writeReferenceFile() = 0;
63
64 /*!
65 * \brief Effectue la vérification à partir du fichier référence.
66 *
67 * \param parallel_sequential si vrai, indique qu'on compare le résultat
68 * d'une exécution parallèle avec celui d'une exécution séquentielle. Cette
69 * option est inactive si l'exécution est séquentielle.
70 *
71 * \param compare_ghost si vrai, indique qu'on compare les résultats aussi
72 * sur les entités fantômes. Il est en général normal que les résultats soient
73 * différents sur les entités fantômes, car il n'est pas nécessaire que
74 * toutes les variables soient synchronisées. C'est pourquoi il vaut mieux
75 * en général ne pas faire de vérification sur les entités fantômes. Cette
76 * option est inactive si l'exécution est séquentielle.
77 */
78 virtual void doVerifFromReferenceFile(bool parallel_sequential, bool compare_ghost) = 0;
79
80 public:
81
82 //! Positionne le nom du fichier contenant les valeurs de référence
83 virtual void setFileName(const String& file_name) = 0;
84 //! Nom du fichier contenant les valeurs de référence
85 virtual String fileName() const = 0;
86
87 public:
88
89 //! Nom du fichier contenant les résultats
90 virtual void setResultFileName(const String& file_name) = 0;
91 virtual String resultfileName() const = 0;
92
93 //! Type de comparaison souhaité
94 virtual void setCompareMode(eCompareMode v) = 0;
95 virtual eCompareMode compareMode() const = 0;
96
97 public:
98
99 //! Positionne le nom du sous répertoire contenant les valeurs de référence
100 virtual void setSubDir(const String& sub_dir) = 0;
101 //! Nom du fichier contenant les valeurs de référence
102 virtual String subDir() const = 0;
103};
104
105/*---------------------------------------------------------------------------*/
106/*---------------------------------------------------------------------------*/
107
108} // End namespace Arcane
109
110/*---------------------------------------------------------------------------*/
111/*---------------------------------------------------------------------------*/
112
113#endif
114
Déclarations des types généraux de Arcane.
Interface du service de vérification des données entre deux exécutions.
virtual void setResultFileName(const String &file_name)=0
Nom du fichier contenant les résultats.
virtual void writeReferenceFile()=0
Ecrit le fichier référence.
eCompareMode
Mode de comparaison.
@ Values
Compare toutes les valeurs.
@ HashOnly
Compare uniquement les hash des valeurs.
virtual void setSubDir(const String &sub_dir)=0
Positionne le nom du sous répertoire contenant les valeurs de référence.
virtual String subDir() const =0
Nom du fichier contenant les valeurs de référence.
virtual ~IVerifierService()=default
Libère les ressources.
virtual void doVerifFromReferenceFile(bool parallel_sequential, bool compare_ghost)=0
Effectue la vérification à partir du fichier référence.
virtual void setFileName(const String &file_name)=0
Positionne le nom du fichier contenant les valeurs de référence.
virtual void setCompareMode(eCompareMode v)=0
Type de comparaison souhaité
virtual String fileName() const =0
Nom du fichier contenant les valeurs de référence.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-