Arcane  v3.15.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
TestDataTypes.cc
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#include <gtest/gtest.h>
9
10#include "arcane/utils/NumericTypes.h"
11#include "arcane/utils/String.h"
12#include "arcane/utils/ArgumentException.h"
13
15
16#include "arccore/serialize/ISerializer.h"
17
18/*---------------------------------------------------------------------------*/
19/*---------------------------------------------------------------------------*/
20
21using namespace Arcane;
22
23#define TEST_DATA_TYPE(a) \
24 ASSERT_EQ(String(dataTypeName(DT_##a)), #a); \
25 ASSERT_EQ(dataTypeFromName(#a), DT_##a); \
26 ASSERT_EQ(dataTypeSize(DT_##a), sizeof(a))
27
29{
30 TEST_DATA_TYPE(Byte);
31 TEST_DATA_TYPE(Real);
32 TEST_DATA_TYPE(Int16);
33 TEST_DATA_TYPE(Int32);
34 TEST_DATA_TYPE(Int64);
35 TEST_DATA_TYPE(Real2);
36 TEST_DATA_TYPE(Real3);
37 TEST_DATA_TYPE(Real2x2);
38 TEST_DATA_TYPE(Real3x3);
39 TEST_DATA_TYPE(BFloat16);
40 TEST_DATA_TYPE(Float16);
41 TEST_DATA_TYPE(Float32);
42 TEST_DATA_TYPE(Int8);
43
46
50
53
54 ASSERT_EQ((int)eDataType::DT_Byte, (int)Arccore::ISerializer::DT_Byte);
55 ASSERT_EQ((int)eDataType::DT_Real, (int)Arccore::ISerializer::DT_Real);
56 ASSERT_EQ((int)eDataType::DT_Int16, (int)Arccore::ISerializer::DT_Int16);
57 ASSERT_EQ((int)eDataType::DT_Int32, (int)Arccore::ISerializer::DT_Int32);
58 ASSERT_EQ((int)eDataType::DT_Int64, (int)Arccore::ISerializer::DT_Int64);
59 ASSERT_EQ((int)eDataType::DT_Float32, (int)Arccore::ISerializer::DT_Float32);
60 ASSERT_EQ((int)eDataType::DT_Float16, (int)Arccore::ISerializer::DT_Float16);
61 ASSERT_EQ((int)eDataType::DT_BFloat16, (int)Arccore::ISerializer::DT_BFloat16);
62 ASSERT_EQ((int)eDataType::DT_Int8, (int)Arccore::ISerializer::DT_Int8);
63}
64
65/*---------------------------------------------------------------------------*/
66/*---------------------------------------------------------------------------*/
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.
Definition Lima.cc:149
Classe gérant un vecteur de réel de dimension 2.
Definition Real2.h:121
Classe gérant une matrice de réel de dimension 2x2.
Definition Real2x2.h:53
Classe gérant un vecteur de réel de dimension 3.
Definition Real3.h:132
Classe gérant une matrice de réel de dimension 3x3.
Definition Real3x3.h:66
Exception lorsqu'un argument est invalide.
Type flottant demi-précision.
Chaîne de caractères unicode.
-*- 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)
Definition DataTypes.cc:109
Arccore::Int8 Int8
Type représentant un entier sur 8 bits.
eDataType
Type d'une donnée.
Definition DataTypes.h:39
@ DT_Unknown
Donnée de type inconnue ou non initialisée.
Definition DataTypes.h:56
@ DT_String
Donnée de type chaîne de caractère UTF-8.
Definition DataTypes.h:45
ARCANE_DATATYPE_EXPORT eDataType dataTypeFromName(const char *name, bool &has_error)
Trouve le type associé à name.
Definition DataTypes.cc:92
const char * dataTypeName(eDataType type)
Nom du type de donnée.
Definition DataTypes.cc:70