12#ifndef ARCANE_VARIABLEREFSCALAR_H
13#define ARCANE_VARIABLEREFSCALAR_H
17#include "arcane/VariableRef.h"
18#include "arcane/Parallel.h"
19#include "arcane/MathUtils.h"
40template<
typename DataType>
77 virtual bool isArrayVariable()
const {
return false; }
88 void operator=(
const DataType& v) {
assign(v); }
99 const DataType&
operator()()
const {
return m_private_part->value(); }
102 const DataType&
value()
const {
return m_private_part->value(); }
130 {
return math::isNearlyZero(m_private_part->value()); }
133 ARCANE_CORE_EXPORT
void assign(
const DataType& v);
144 PrivatePartType* m_private_part;
Vue modifiable d'un tableau d'un type T.
Vue constante d'un tableau de type T.
Paramètres nécessaires à la construction d'une variable.
Infos caractérisant une variable.
VariableRefScalarT(const VariableBuildInfo &b)
Construit une référence à une variable scalaire spécifiée dans vb.
void refersTo(const VariableRefScalarT< DataType > &rhs)
Positionne la référence de l'instance à la variable rhs.
const DataType & value() const
Valeur du scalaire.
void swapValues(VariableRefScalarT< DataType > &rhs)
Échange les valeurs de la variable rhs avec celles de l'instance.
virtual Integer arraySize() const
Si la variable est un tableau, retourne sa dimension, sinon retourne 0.
bool isNearlyZero() const
Compare la variable avec la valeur 0.
const DataType & operator()() const
Valeur du scalaire.
void reset()
Réinitialise la variable avec sa valeur par défaut.
VariableRefScalarT()
Constructeur vide.
bool isEqual(const DataType &v) const
Compare la variable avec la valeur v.
VariableRefScalarT(IVariable *var)
Construit une référence à partir de var.
bool isNearlyEqual(const DataType &v) const
Compare la variable avec la valeur v.
void reduce(Parallel::eReduceType type)
Effectue une réduction de type type sur la variable.
VariableRef BaseClass
Type de la classe de base.
VariableRefScalarT(const VariableRefScalarT< DataType > &rhs)
Construit une référence à partir de rhs.
bool isZero() const
Compare la variable avec la valeur 0.
void assign(const DataType &v)
Affecte à la variable la valeur v.
virtual void updateFromInternal()
Mise à jour à partir de la partie interne.
DataType ElementType
Type des éléments de la variable.
VariableRef(const VariableBuildInfo &vbi)
Construit une référence sur une variable avec les infos vbi.
Informations caractérisant le type d'une variable.
eReduceType
Types des réductions supportées.
constexpr __host__ __device__ bool isNearlyEqual(const _Type &a, const _Type &b)
Teste si deux valeurs sont à un peu près égales. Pour les types entiers, cette fonction est équivalen...
bool isZero(const BuiltInProxy< _Type > &a)
Teste si une valeur est exactement égale à zéro.
constexpr __host__ __device__ bool isEqual(const _Type &a, const _Type &b)
Teste l'égalité bit à bit entre deux valeurs.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.