14#include "arcane/utils/String.h"
15#include "arcane/utils/ArrayView.h"
16#include "arcane/utils/Iostream.h"
17#include "arcane/utils/FatalErrorException.h"
18#include "arcane/utils/TraceInfo.h"
19#include "arcane/utils/NumericTypes.h"
20#include "arcane/utils/ArgumentException.h"
21#include "arcane/utils/PlatformUtils.h"
22#include "arcane/utils/Array.h"
24#include "arcane/core/datatype/DataTypeTraits.h"
44 const char* N_ALL_NAMES[NB_ARCANE_DATA_TYPE] = {
45 DataTypeNames::N_BYTE, DataTypeNames::N_REAL,
46 DataTypeNames::N_INT16, DataTypeNames::N_INT32, DataTypeNames::N_INT64,
47 DataTypeNames::N_STRING,
48 DataTypeNames::N_REAL2, DataTypeNames::N_REAL3, DataTypeNames::N_REAL2x2, DataTypeNames::N_REAL3x3,
49 DataTypeNames::N_BFLOAT16, DataTypeNames::N_FLOAT16, DataTypeNames::N_FLOAT32,
50 DataTypeNames::N_INT8,
51 DataTypeNames::N_UNKNOWN
55 int ALL_SIZEOF[NB_ARCANE_DATA_TYPE] = {
59 sizeof(Real2),
sizeof(Real3),
sizeof(Real2x2),
sizeof(Real3x3),
69extern "C++" const char*
73 if (v >= NB_ARCANE_DATA_TYPE)
81extern "C++" std::ostream&
91extern "C++" ARCANE_DATATYPE_EXPORT
eDataType
95 std::string_view buf(name);
96 for (
int i = 0; i < NB_ARCANE_DATA_TYPE; ++i) {
108extern "C++" ARCANE_DATATYPE_EXPORT Integer
113 const Int32 v = type;
114 if (v >= NB_ARCANE_DATA_TYPE)
123extern "C++" ARCANE_DATATYPE_EXPORT
eDataType
136extern "C++" std::istream&
145 istr.setstate(std::ios_base::failbit);
155extern "C++" ARCANE_CORE_EXPORT
void
164 return global_data_initialisation_policy;
174 return std::numeric_limits<Real>::signaling_NaN();
181template <
typename Type>
static void
182_fillNoNan(ArrayView<Type> ptr)
186 for (Integer i = 0; i < n; ++i)
224 Integer n =
ptr.size();
225 for (Integer i = 0; i < n; ++i)
271 return Real3::zero();
283 return Real2::null();
#define ARCANE_THROW(exception_class,...)
Macro pour envoyer une exception avec formattage.
#define ARCANE_FATAL(...)
Macro envoyant une exception FatalErrorException.
Fichier contenant les définitions des types de données gérés par Arcane.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Classe gérant un vecteur de réel de dimension 2.
Classe gérant une matrice de réel de dimension 2x2.
constexpr static ARCCORE_HOST_DEVICE Real2x2 null()
Construit la matrice nulle.
Classe gérant un vecteur de réel de dimension 3.
Classe gérant une matrice de réel de dimension 3x3.
constexpr static ARCCORE_HOST_DEVICE Real3x3 zero()
Construit la matrice nulle.
Exception lorsqu'un argument est invalide.
Vue modifiable d'un tableau d'un type T.
Chaîne de caractères unicode.
std::ostream & operator<<(std::ostream &o, eExecutionPolicy exec_policy)
Affiche le nom de la politique d'exécution.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
ARCANE_DATATYPE_EXPORT Integer dataTypeSize(eDataType type)
Taille du type de donnée type (qui doit être différent de DT_String)
void setGlobalDataInitialisationPolicy(eDataInitialisationPolicy init_policy)
Positionne la politique d'initialisation des variables.
eDataInitialisationPolicy
Type de politique d'initialisation possible pour une donnée.
@ DIP_Legacy
Initialisation en mode historique.
Arccore::Float16 Float16
Type 'Float16' (binary16)
eDataInitialisationPolicy getGlobalDataInitialisationPolicy()
Récupère la politique d'initialisation des variables.
Arccore::Int8 Int8
Type représentant un entier sur 8 bits.
Arccore::BFloat16 BFloat16
Type 'Brain Float16'.
std::istream & operator>>(std::istream &istr, eItemKind &item_kind)
Opérateur d'entrée depuis un flot.
float Float32
Type flottant IEEE-753 simple précision (binary32)
unsigned char Byte
Type d'un octet.
eDataType
Type d'une donnée.
@ DT_Unknown
Donnée de type inconnue ou non initialisée.
@ DT_String
Donnée de type chaîne de caractère UTF-8.
ARCANE_DATATYPE_EXPORT eDataType dataTypeFromName(const char *name, bool &has_error)
Trouve le type associé à name.
ArrayView< Real > RealArrayView
Equivalent C d'un tableau à une dimension de réels.
const char * dataTypeName(eDataType type)
Nom du type de donnée.
Int32 Integer
Type représentant un entier.