Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::NumArray< DataType, Extents, LayoutPolicy >

Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs. Plus de détails...

#include <arcane/utils/NumArray.h>

+ Graphe d'héritage de Arcane::NumArray< DataType, Extents, LayoutPolicy >:
+ Graphe de collaboration de Arcane::NumArray< DataType, Extents, LayoutPolicy >:

Types publics

using ExtentsType = Extents
 
using ThatClass = NumArray< DataType, Extents, LayoutPolicy >
 
using DynamicDimsType = typename ExtentsType::DynamicDimsType
 
using ConstMDSpanType = MDSpan< const DataType, ExtentsType, LayoutPolicy >
 
using MDSpanType = MDSpan< DataType, ExtentsType, LayoutPolicy >
 
using ArrayWrapper = impl::NumArrayContainer< DataType >
 
using ArrayBoundsIndexType = typename MDSpanType::ArrayBoundsIndexType
 
using value_type = DataType
 
using LayoutPolicyType = LayoutPolicy
 
using ConstSpanType = ConstMDSpanType
 
using SpanType = MDSpanType
 

Fonctions membres publiques

 NumArray ()
 Construit un tableau vide.
 
 NumArray (DynamicDimsType extents)
 Construit un tableau en spécifiant directement la liste des dimensions.
 
 NumArray (const DynamicDimsType &extents, eMemoryRessource r)
 Construit un tableau en spécifiant directement la liste des dimensions.
 
 NumArray (eMemoryRessource r)
 Créé un tableau vide utilisant la ressource mémoire r.
 
 NumArray (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, Int32 dim4_size)
 Construit un tableau avec 4 valeurs dynamiques.
 
 NumArray (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, Int32 dim4_size, eMemoryRessource r)
 Construit un tableau avec 4 valeurs dynamiques.
 
 NumArray (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size)
 Construit un tableau avec 3 valeurs dynamiques.
 
 NumArray (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, eMemoryRessource r)
 Construit un tableau avec 3 valeurs dynamiques.
 
 NumArray (Int32 dim1_size, Int32 dim2_size)
 Construit un tableau avec 2 valeurs dynamiques.
 
 NumArray (Int32 dim1_size, Int32 dim2_size, eMemoryRessource r)
 Construit un tableau avec 2 valeurs dynamiques.
 
 NumArray (Int32 dim1_size)
 Construit un tableau avec 1 valeur dynamique.
 
 NumArray (Int32 dim1_size, eMemoryRessource r)
 Construit un tableau avec 1 valeur dynamique.
 
 NumArray (Int32 dim1_size, Int32 dim2_size, std::initializer_list< DataType > alist)
 Construit un tableau à partir de valeurs prédéfinies (tableaux 2D dynamiques).
 
 NumArray (Int32 dim1_size, std::initializer_list< DataType > alist)
 Construit un tableau à partir de valeurs prédéfinies (uniquement tableaux 1D dynamiques)
 
 NumArray (SmallSpan< const DataType > v)
 Construit une instance à partir d'une vue (uniquement tableaux 1D dynamiques)
 
 NumArray (Span< const DataType > v)
 Construit une instance à partir d'une vue (uniquement tableaux 1D dynamiques)
 
 NumArray (const ThatClass &rhs)
 
 NumArray (ThatClass &&rhs)
 
ThatClass & operator= (ThatClass &&)=default
 
ThatClass & operator= (const ThatClass &rhs)
 Opérateur de recopie.
 
void swap (ThatClass &rhs)
 Échange les données avec rhs.
 
constexpr Int64 totalNbElement () const
 Nombre total d'éléments du tableau.
 
ArrayExtents< Extents > extents () const
 Valeurs des dimensions.
 
ArrayExtentsWithOffset< Extents, LayoutPolicy > extentsWithOffset () const
 
Int64 capacity () const
 
eMemoryRessource memoryRessource () const
 
Span< std::byte > bytes ()
 Vue sous forme d'octets.
 
Span< const std::byte > bytes () const
 Vue constante forme d'octets.
 
IMemoryAllocatormemoryAllocator () const
 Allocateur mémoire associé
 
void setDebugName (const String &str)
 Positionne le nom du tableau pour les informations de debug.
 
String debugName ()
 Nom de debug (nul si aucun nom spécifié)
 
constexpr Int32 dim1Size () const
 Valeur de la première dimension.
 
constexpr Int32 dim2Size () const
 Valeur de la deuxième dimension.
 
constexpr Int32 dim3Size () const
 Valeur de la troisième dimension.
 
constexpr Int32 dim4Size () const
 Valeur de la quatrième dimension.
 
constexpr Int32 extent0 () const
 Valeur de la première dimension.
 
constexpr Int32 extent1 () const
 Valeur de la deuxième dimension.
 
constexpr Int32 extent2 () const
 Valeur de la troisième dimension.
 
constexpr Int32 extent3 () const
 Valeur de la quatrième dimension.
 
void resize (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size, Int32 dim4_size)
 Modifie la taille du tableau.
 
void resize (Int32 dim1_size, Int32 dim2_size, Int32 dim3_size)
 
void resize (Int32 dim1_size, Int32 dim2_size)
 
void resize (Int32 dim1_size)
 
void resize (const DynamicDimsType &dims)
 
void fill (const DataType &v)
 Remplit les valeurs du tableau par v.
 
void fill (const DataType &v, SmallSpan< const Int32 > indexes, RunQueue *queue)
 Remplit via la file queue, les valeurs du tableau d'indices données par indexes par la valeur v .
 
void fill (const DataType &v, RunQueue *queue)
 Remplit les éléments de l'instance la valeur v.
 
void copy (ConstMDSpanType rhs)
 Copie dans l'instance les valeurs de rhs.
 
void copy (const ThatClass &rhs)
 Copie dans l'instance les valeurs de rhs.
 
void copy (ConstMDSpanType rhs, RunQueue *queue)
 Copie dans l'instance les valeurs de rhs via la file queue.
 
void copy (const ThatClass &rhs, RunQueue *queue)
 Copie dans l'instance les valeurs de rhs via la file queue.
 
DataType & operator[] (Int32 i)
 Récupère une référence pour l'élément i.
 
DataType operator[] (Int32 i) const
 Valeur pour l'élément i.
 
DataType operator() (Int32 i, Int32 j, Int32 k, Int32 l) const
 Valeur pour l'élément i,j,k,l.
 
DataType & operator() (Int32 i, Int32 j, Int32 k, Int32 l)
 Positionne la valeur pour l'élément i,j,k,l.
 
DataType operator() (Int32 i, Int32 j, Int32 k) const
 Valeur pour l'élément i,j,k.
 
DataType & operator() (Int32 i, Int32 j, Int32 k)
 Positionne la valeur pour l'élément i,j,k.
 
DataType operator() (Int32 i, Int32 j) const
 Valeur pour l'élément i,j.
 
DataType & operator() (Int32 i, Int32 j)
 Positionne la valeur pour l'élément i,j.
 
DataType operator() (Int32 i) const
 Valeur pour l'élément i.
 
DataType & operator() (Int32 i)
 Positionne la valeur pour l'élément i.
 
const DataType & operator() (ArrayBoundsIndexType idx) const
 Référence constante pour l'élément idx.
 
DataType & operator() (ArrayBoundsIndexType idx)
 Référence modifiable l'élément idx.
 
DataType & s (Int32 i, Int32 j, Int32 k, Int32 l)
 Positionne la valeur pour l'élément i,j,k,l.
 
DataType & s (Int32 i, Int32 j, Int32 k)
 Positionne la valeur pour l'élément i,j,k.
 
DataType & s (Int32 i, Int32 j)
 Positionne la valeur pour l'élément i,j.
 
DataType & s (Int32 i)
 Positionne la valeur pour l'élément i.
 
DataType & s (ArrayBoundsIndexType idx)
 Positionne la valeur pour l'élément idx.
 
MDSpanType span ()
 Vue multi-dimension sur l'instance.
 
ConstMDSpanType span () const
 Vue constante multi-dimension sur l'instance.
 
ConstMDSpanType constSpan () const
 Vue constante multi-dimension sur l'instance.
 
MDSpanType mdspan ()
 Vue multi-dimension sur l'instance.
 
ConstMDSpanType mdspan () const
 Vue constante multi-dimension sur l'instance.
 
ConstMDSpanType constMDSpan () const
 Vue constante multi-dimension sur l'instance.
 
Span< const DataType > to1DSpan () const
 Vue 1D constante sur l'instance.
 
Span< DataType > to1DSpan ()
 Vue 1D sur l'instance.
 
constexpr operator MDSpanType ()
 Conversion vers une vue multi-dimension sur l'instance.
 
constexpr operator ConstMDSpanType () const
 Conversion vers une vue constante multi-dimension sur l'instance.
 
constexpr operator SmallSpan< DataType > ()
 Conversion vers une vue 1D sur l'instance (uniquement si rank == 1)
 
constexpr operator SmallSpan< const DataType > () const
 Conversion vers une vue constante 1D sur l'instance (uniquement si rank == 1)
 
constexpr SmallSpan< DataType > to1DSmallSpan ()
 Vue 1D sur l'instance (uniquement si rank == 1)
 
constexpr SmallSpan< const DataType > to1DSmallSpan () const
 Vue constante 1D sur l'instance (uniquement si rank == 1)
 
constexpr SmallSpan< const DataType > to1DConstSmallSpan () const
 Vue constante 1D sur l'instance (uniquement si rank == 1)
 
DataType * _internalData ()
 

Fonctions membres publiques statiques

static constexpr int rank ()
 Nombre de dimensions du tableau.
 
static constexpr Int32 nbDimension ()
 Nombre de dimensions.
 

Description détaillée

template<typename DataType, typename Extents, typename LayoutPolicy>
class Arcane::NumArray< DataType, Extents, LayoutPolicy >

Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.

L'implémentation actuelle supporte des tableaux jusqu'à 4 dimensions. L'accès aux éléments se fait via l'opérateur 'operator()'.

Avertissement
Le redimensionnement via resize() ne conserve pas les valeurs existantes sauf pour les tableaux de rang 1.
Cette classe utilise par défaut un allocateur spécifique qui permet de rendre accessible ces valeurs à la fois sur l'hôte (CPU) et l'accélérateur. Néanmoins, il faut pour cela que le runtime associé à l'accélérateur ait été initialisé (Utilisation des accélérateurs (GPU)). C'est pourquoi il ne faut pas utiliser de variables globales de cette classe ou d'une classe dérivée.

Pour plus d'informations, se reporter à la page Utilisation de la classe NumArray.

Définition à la ligne 50 du fichier utils/NumArray.h.

Documentation des définitions de type membres

◆ ArrayBoundsIndexType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::ArrayBoundsIndexType = typename MDSpanType::ArrayBoundsIndexType

Définition à la ligne 61 du fichier utils/NumArray.h.

◆ ArrayWrapper

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::ArrayWrapper = impl::NumArrayContainer<DataType>

Définition à la ligne 60 du fichier utils/NumArray.h.

◆ ConstMDSpanType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::ConstMDSpanType = MDSpan<const DataType, ExtentsType, LayoutPolicy>

Définition à la ligne 58 du fichier utils/NumArray.h.

◆ ConstSpanType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::ConstSpanType = ConstMDSpanType

Définition à la ligne 65 du fichier utils/NumArray.h.

◆ DynamicDimsType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::DynamicDimsType = typename ExtentsType::DynamicDimsType

Définition à la ligne 57 du fichier utils/NumArray.h.

◆ ExtentsType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::ExtentsType = Extents

Définition à la ligne 55 du fichier utils/NumArray.h.

◆ LayoutPolicyType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::LayoutPolicyType = LayoutPolicy

Définition à la ligne 63 du fichier utils/NumArray.h.

◆ MDSpanType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::MDSpanType = MDSpan<DataType, ExtentsType, LayoutPolicy>

Définition à la ligne 59 du fichier utils/NumArray.h.

◆ SpanType

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::SpanType = MDSpanType

Définition à la ligne 66 du fichier utils/NumArray.h.

◆ ThatClass

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::ThatClass = NumArray<DataType, Extents, LayoutPolicy>

Définition à la ligne 56 du fichier utils/NumArray.h.

◆ value_type

template<typename DataType , typename Extents , typename LayoutPolicy >
using Arcane::NumArray< DataType, Extents, LayoutPolicy >::value_type = DataType

Définition à la ligne 62 du fichier utils/NumArray.h.

Documentation des constructeurs et destructeur

◆ NumArray() [1/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( )
inline

Construit un tableau vide.

Définition à la ligne 76 du fichier utils/NumArray.h.

◆ NumArray() [2/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( DynamicDimsType  extents)
inlineexplicit

Construit un tableau en spécifiant directement la liste des dimensions.

Définition à la ligne 82 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::extents(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize().

◆ NumArray() [3/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( const DynamicDimsType &  extents,
eMemoryRessource  r 
)
inline

Construit un tableau en spécifiant directement la liste des dimensions.

Définition à la ligne 88 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::extents(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize().

◆ NumArray() [4/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( eMemoryRessource  r)
inlineexplicit

Créé un tableau vide utilisant la ressource mémoire r.

Définition à la ligne 94 du fichier utils/NumArray.h.

◆ NumArray() [5/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size,
Int32  dim3_size,
Int32  dim4_size 
)
inline

Construit un tableau avec 4 valeurs dynamiques.

Définition à la ligne 101 du fichier utils/NumArray.h.

◆ NumArray() [6/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size,
Int32  dim3_size,
Int32  dim4_size,
eMemoryRessource  r 
)
inline

Construit un tableau avec 4 valeurs dynamiques.

Définition à la ligne 108 du fichier utils/NumArray.h.

◆ NumArray() [7/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size,
Int32  dim3_size 
)
inline

Construit un tableau avec 3 valeurs dynamiques.

Définition à la ligne 115 du fichier utils/NumArray.h.

◆ NumArray() [8/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size,
Int32  dim3_size,
eMemoryRessource  r 
)
inline

Construit un tableau avec 3 valeurs dynamiques.

Définition à la ligne 120 du fichier utils/NumArray.h.

◆ NumArray() [9/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size 
)
inline

Construit un tableau avec 2 valeurs dynamiques.

Définition à la ligne 126 du fichier utils/NumArray.h.

◆ NumArray() [10/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size,
eMemoryRessource  r 
)
inline

Construit un tableau avec 2 valeurs dynamiques.

Définition à la ligne 131 du fichier utils/NumArray.h.

◆ NumArray() [11/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size)
inlineexplicit

Construit un tableau avec 1 valeur dynamique.

Définition à la ligne 137 du fichier utils/NumArray.h.

◆ NumArray() [12/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
eMemoryRessource  r 
)
inline

Construit un tableau avec 1 valeur dynamique.

Définition à la ligne 142 du fichier utils/NumArray.h.

◆ NumArray() [13/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
Int32  dim2_size,
std::initializer_list< DataType >  alist 
)
inline

Construit un tableau à partir de valeurs prédéfinies (tableaux 2D dynamiques).

Les valeurs sont rangées de manière contigues en mémoire donc la liste alist doit avoir un layout qui correspond à celui de cette classe.

Définition à la ligne 153 du fichier utils/NumArray.h.

◆ NumArray() [14/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Int32  dim1_size,
std::initializer_list< DataType >  alist 
)
inline

Construit un tableau à partir de valeurs prédéfinies (uniquement tableaux 1D dynamiques)

Définition à la ligne 161 du fichier utils/NumArray.h.

◆ NumArray() [15/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( SmallSpan< const DataType >  v)
inline

Construit une instance à partir d'une vue (uniquement tableaux 1D dynamiques)

Définition à la ligne 169 du fichier utils/NumArray.h.

◆ NumArray() [16/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( Span< const DataType >  v)
inline

Construit une instance à partir d'une vue (uniquement tableaux 1D dynamiques)

Définition à la ligne 177 du fichier utils/NumArray.h.

◆ NumArray() [17/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( const ThatClass &  rhs)
inline

Définition à la ligne 184 du fichier utils/NumArray.h.

◆ NumArray() [18/18]

template<typename DataType , typename Extents , typename LayoutPolicy >
Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray ( ThatClass &&  rhs)
inline

Définition à la ligne 192 du fichier utils/NumArray.h.

Documentation des fonctions membres

◆ _internalData()

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType * Arcane::NumArray< DataType, Extents, LayoutPolicy >::_internalData ( )
inline

Définition à la ligne 537 du fichier utils/NumArray.h.

◆ bytes() [1/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
Span< std::byte > Arcane::NumArray< DataType, Extents, LayoutPolicy >::bytes ( )
inline

Vue sous forme d'octets.

Définition à la ligne 249 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::to1DSpan().

◆ bytes() [2/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
Span< const std::byte > Arcane::NumArray< DataType, Extents, LayoutPolicy >::bytes ( ) const
inline

Vue constante forme d'octets.

Définition à la ligne 251 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::to1DSpan().

◆ capacity()

template<typename DataType , typename Extents , typename LayoutPolicy >
Int64 Arcane::NumArray< DataType, Extents, LayoutPolicy >::capacity ( ) const
inline

Définition à la ligne 246 du fichier utils/NumArray.h.

◆ constMDSpan()

template<typename DataType , typename Extents , typename LayoutPolicy >
ConstMDSpanType Arcane::NumArray< DataType, Extents, LayoutPolicy >::constMDSpan ( ) const
inline

Vue constante multi-dimension sur l'instance.

Définition à la ligne 509 du fichier utils/NumArray.h.

Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator ConstMDSpanType(), et Arcane::Accelerator::viewIn().

◆ constSpan()

template<typename DataType , typename Extents , typename LayoutPolicy >
ConstMDSpanType Arcane::NumArray< DataType, Extents, LayoutPolicy >::constSpan ( ) const
inline

Vue constante multi-dimension sur l'instance.

Définition à la ligne 500 du fichier utils/NumArray.h.

◆ copy() [1/4]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy ( const ThatClass &  rhs)
inline

Copie dans l'instance les valeurs de rhs.

Cette opération est valide quelle que soit la mêmoire associée associée à l'instance.

Définition à la ligne 369 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy().

Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy().

◆ copy() [2/4]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy ( const ThatClass &  rhs,
RunQueue queue 
)
inline

Copie dans l'instance les valeurs de rhs via la file queue.

Cette opération est valide quelle que soit la mêmoire associée associée à l'instance. queue peut être nul. Si la file est asynchrone, il faudra la synchroniser avant de pouvoir utiliser l'instance.

Définition à la ligne 392 du fichier utils/NumArray.h.

◆ copy() [3/4]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy ( ConstMDSpanType  rhs)
inline

Copie dans l'instance les valeurs de rhs.

Cette opération est valide quelle que soit la mêmoire associée associée à l'instance.

Définition à la ligne 361 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy().

Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator=().

◆ copy() [4/4]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy ( ConstMDSpanType  rhs,
RunQueue queue 
)
inline

Copie dans l'instance les valeurs de rhs via la file queue.

Cette opération est valide quelle que soit la mêmoire associée associée à l'instance. queue peut être nul. Si la file est asynchrone, il faudra la synchroniser avant de pouvoir utiliser l'instance.

Définition à la ligne 379 du fichier utils/NumArray.h.

Références Arcane::Unknown.

◆ debugName()

template<typename DataType , typename Extents , typename LayoutPolicy >
String Arcane::NumArray< DataType, Extents, LayoutPolicy >::debugName ( )
inline

Nom de debug (nul si aucun nom spécifié)

Définition à la ligne 264 du fichier utils/NumArray.h.

◆ dim1Size()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim1Size ( ) const
inlineconstexpr

Valeur de la première dimension.

Définition à la ligne 269 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent0().

◆ dim2Size()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim2Size ( ) const
inlineconstexpr

Valeur de la deuxième dimension.

Définition à la ligne 271 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent1().

◆ dim3Size()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim3Size ( ) const
inlineconstexpr

Valeur de la troisième dimension.

Définition à la ligne 273 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent2().

◆ dim4Size()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::dim4Size ( ) const
inlineconstexpr

Valeur de la quatrième dimension.

Définition à la ligne 275 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent3().

◆ extent0()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent0 ( ) const
inlineconstexpr

Valeur de la première dimension.

Définition à la ligne 278 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent0().

◆ extent1()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent1 ( ) const
inlineconstexpr

Valeur de la deuxième dimension.

Définition à la ligne 280 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent1().

◆ extent2()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent2 ( ) const
inlineconstexpr

Valeur de la troisième dimension.

Définition à la ligne 282 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent2().

◆ extent3()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::extent3 ( ) const
inlineconstexpr

Valeur de la quatrième dimension.

Définition à la ligne 284 du fichier utils/NumArray.h.

Références Arcane::MDSpan< DataType, Extents, LayoutPolicy >::extent3().

◆ extents()

template<typename DataType , typename Extents , typename LayoutPolicy >
ArrayExtents< Extents > Arcane::NumArray< DataType, Extents, LayoutPolicy >::extents ( ) const
inline

◆ extentsWithOffset()

template<typename DataType , typename Extents , typename LayoutPolicy >
ArrayExtentsWithOffset< Extents, LayoutPolicy > Arcane::NumArray< DataType, Extents, LayoutPolicy >::extentsWithOffset ( ) const
inline

Définition à la ligne 242 du fichier utils/NumArray.h.

◆ fill() [1/3]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::fill ( const DataType &  v)
inline

Remplit les valeurs du tableau par v.

Avertissement
L'opération se fait sur l'hôte donc la mémoire associée à l'instance doit être accessible sur l'hôte.

Définition à la ligne 329 du fichier utils/NumArray.h.

Références Arcane::impl::NumArrayContainer< DataType >::fill().

◆ fill() [2/3]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::fill ( const DataType &  v,
RunQueue queue 
)
inline

Remplit les éléments de l'instance la valeur v.

Définition à la ligne 348 du fichier utils/NumArray.h.

Références Arcane::impl::NumArrayContainer< DataType >::fill().

◆ fill() [3/3]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::fill ( const DataType &  v,
SmallSpan< const Int32 >  indexes,
RunQueue queue 
)
inline

Remplit via la file queue, les valeurs du tableau d'indices données par indexes par la valeur v .

La mémoire associée à l'instance doit être accessible depuis la file queue.

Définition à la ligne 340 du fichier utils/NumArray.h.

Références Arcane::impl::NumArrayContainer< DataType >::fill().

◆ mdspan() [1/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
MDSpanType Arcane::NumArray< DataType, Extents, LayoutPolicy >::mdspan ( )
inline

◆ mdspan() [2/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
ConstMDSpanType Arcane::NumArray< DataType, Extents, LayoutPolicy >::mdspan ( ) const
inline

Vue constante multi-dimension sur l'instance.

Définition à la ligne 506 du fichier utils/NumArray.h.

◆ memoryAllocator()

template<typename DataType , typename Extents , typename LayoutPolicy >
IMemoryAllocator * Arcane::NumArray< DataType, Extents, LayoutPolicy >::memoryAllocator ( ) const
inline

Allocateur mémoire associé

Définition à la ligne 254 du fichier utils/NumArray.h.

◆ memoryRessource()

template<typename DataType , typename Extents , typename LayoutPolicy >
eMemoryRessource Arcane::NumArray< DataType, Extents, LayoutPolicy >::memoryRessource ( ) const
inline

Définition à la ligne 247 du fichier utils/NumArray.h.

◆ nbDimension()

template<typename DataType , typename Extents , typename LayoutPolicy >
static constexpr Int32 Arcane::NumArray< DataType, Extents, LayoutPolicy >::nbDimension ( )
inlinestaticconstexpr

Nombre de dimensions.

Définition à la ligne 239 du fichier utils/NumArray.h.

◆ operator ConstMDSpanType()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator ConstMDSpanType ( ) const
inlineconstexpr

Conversion vers une vue constante multi-dimension sur l'instance.

Définition à la ligne 520 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::constMDSpan().

◆ operator MDSpanType()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator MDSpanType ( )
inlineconstexpr

Conversion vers une vue multi-dimension sur l'instance.

Définition à la ligne 518 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::mdspan().

◆ operator SmallSpan< const DataType >()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator SmallSpan< const DataType > ( ) const
inlineconstexpr

Conversion vers une vue constante 1D sur l'instance (uniquement si rank == 1)

Définition à la ligne 525 du fichier utils/NumArray.h.

◆ operator SmallSpan< DataType >()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator SmallSpan< DataType > ( )
inlineconstexpr

Conversion vers une vue 1D sur l'instance (uniquement si rank == 1)

Définition à la ligne 523 du fichier utils/NumArray.h.

◆ operator()() [1/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( ArrayBoundsIndexType  idx)
inline

Référence modifiable l'élément idx.

Définition à la ligne 451 du fichier utils/NumArray.h.

◆ operator()() [2/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
const DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( ArrayBoundsIndexType  idx) const
inline

Référence constante pour l'élément idx.

Définition à la ligne 446 du fichier utils/NumArray.h.

◆ operator()() [3/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i)
inline

Positionne la valeur pour l'élément i.

Définition à la ligne 441 du fichier utils/NumArray.h.

◆ operator()() [4/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i) const
inline

Valeur pour l'élément i.

Définition à la ligne 439 du fichier utils/NumArray.h.

◆ operator()() [5/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i,
Int32  j 
)
inline

Positionne la valeur pour l'élément i,j.

Définition à la ligne 434 du fichier utils/NumArray.h.

◆ operator()() [6/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i,
Int32  j 
) const
inline

Valeur pour l'élément i,j.

Définition à la ligne 429 du fichier utils/NumArray.h.

◆ operator()() [7/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i,
Int32  j,
Int32  k 
)
inline

Positionne la valeur pour l'élément i,j,k.

Définition à la ligne 423 du fichier utils/NumArray.h.

◆ operator()() [8/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i,
Int32  j,
Int32  k 
) const
inline

Valeur pour l'élément i,j,k.

Définition à la ligne 418 du fichier utils/NumArray.h.

◆ operator()() [9/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i,
Int32  j,
Int32  k,
Int32  l 
)
inline

Positionne la valeur pour l'élément i,j,k,l.

Définition à la ligne 412 du fichier utils/NumArray.h.

◆ operator()() [10/10]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator() ( Int32  i,
Int32  j,
Int32  k,
Int32  l 
) const
inline

Valeur pour l'élément i,j,k,l.

Définition à la ligne 407 du fichier utils/NumArray.h.

◆ operator=()

template<typename DataType , typename Extents , typename LayoutPolicy >
ThatClass & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator= ( const ThatClass &  rhs)
inline

Opérateur de recopie.

Avertissement
Après appel à cette méthode, la ressource mémoire de l'instance sera celle de rhs. Si on souhaite faire une recopie en conservant la ressource mémoire associée il faut utiliser copy().

Définition à la ligne 208 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::copy().

◆ operator[]() [1/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator[] ( Int32  i)
inline

Récupère une référence pour l'élément i.

Définition à la ligne 400 du fichier utils/NumArray.h.

◆ operator[]() [2/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType Arcane::NumArray< DataType, Extents, LayoutPolicy >::operator[] ( Int32  i) const
inline

Valeur pour l'élément i.

Définition à la ligne 402 du fichier utils/NumArray.h.

◆ rank()

template<typename DataType , typename Extents , typename LayoutPolicy >
static constexpr int Arcane::NumArray< DataType, Extents, LayoutPolicy >::rank ( )
inlinestaticconstexpr

Nombre de dimensions du tableau.

Définition à la ligne 71 du fichier utils/NumArray.h.

◆ resize() [1/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize ( const DynamicDimsType &  dims)
inline

Définition à la ligne 314 du fichier utils/NumArray.h.

◆ resize() [2/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize ( Int32  dim1_size)
inline

Définition à la ligne 309 du fichier utils/NumArray.h.

◆ resize() [3/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize ( Int32  dim1_size,
Int32  dim2_size 
)
inline

Définition à la ligne 304 du fichier utils/NumArray.h.

◆ resize() [4/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize ( Int32  dim1_size,
Int32  dim2_size,
Int32  dim3_size 
)
inline

Définition à la ligne 299 du fichier utils/NumArray.h.

◆ resize() [5/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize ( Int32  dim1_size,
Int32  dim2_size,
Int32  dim3_size,
Int32  dim4_size 
)
inline

Modifie la taille du tableau.

Avertissement
Les valeurs actuelles ne sont pas conservées lors de cette opération et les nouvelles valeurs ne sont pas initialisées.

Définition à la ligne 294 du fichier utils/NumArray.h.

Références Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize().

Référencé par Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray(), Arcane::NumArray< DataType, Extents, LayoutPolicy >::NumArray(), et Arcane::NumArray< DataType, Extents, LayoutPolicy >::resize().

◆ s() [1/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::s ( ArrayBoundsIndexType  idx)
inline

Positionne la valeur pour l'élément idx.

Définition à la ligne 483 du fichier utils/NumArray.h.

◆ s() [2/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::s ( Int32  i)
inline

Positionne la valeur pour l'élément i.

Définition à la ligne 479 du fichier utils/NumArray.h.

◆ s() [3/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::s ( Int32  i,
Int32  j 
)
inline

Positionne la valeur pour l'élément i,j.

Définition à la ligne 473 du fichier utils/NumArray.h.

◆ s() [4/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::s ( Int32  i,
Int32  j,
Int32  k 
)
inline

Positionne la valeur pour l'élément i,j,k.

Définition à la ligne 467 du fichier utils/NumArray.h.

◆ s() [5/5]

template<typename DataType , typename Extents , typename LayoutPolicy >
DataType & Arcane::NumArray< DataType, Extents, LayoutPolicy >::s ( Int32  i,
Int32  j,
Int32  k,
Int32  l 
)
inline

Positionne la valeur pour l'élément i,j,k,l.

Définition à la ligne 461 du fichier utils/NumArray.h.

◆ setDebugName()

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::setDebugName ( const String str)
inline

Positionne le nom du tableau pour les informations de debug.

Ce nom peut être utilisé par exemple pour les affichages listing.

Définition à la ligne 261 du fichier utils/NumArray.h.

◆ span() [1/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
MDSpanType Arcane::NumArray< DataType, Extents, LayoutPolicy >::span ( )
inline

Vue multi-dimension sur l'instance.

Définition à la ligne 492 du fichier utils/NumArray.h.

◆ span() [2/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
ConstMDSpanType Arcane::NumArray< DataType, Extents, LayoutPolicy >::span ( ) const
inline

Vue constante multi-dimension sur l'instance.

Définition à la ligne 496 du fichier utils/NumArray.h.

◆ swap()

template<typename DataType , typename Extents , typename LayoutPolicy >
void Arcane::NumArray< DataType, Extents, LayoutPolicy >::swap ( ThatClass &  rhs)
inline

Échange les données avec rhs.

Avertissement
L'allocateur mémoire est aussi échangé. Il est donc préférable que les deux NumArray utilisent le même allocateur et le même memoryRessource().

Définition à la ligne 227 du fichier utils/NumArray.h.

◆ to1DConstSmallSpan()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr SmallSpan< const DataType > Arcane::NumArray< DataType, Extents, LayoutPolicy >::to1DConstSmallSpan ( ) const
inlineconstexpr

Vue constante 1D sur l'instance (uniquement si rank == 1)

Définition à la ligne 532 du fichier utils/NumArray.h.

◆ to1DSmallSpan() [1/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr SmallSpan< DataType > Arcane::NumArray< DataType, Extents, LayoutPolicy >::to1DSmallSpan ( )
inlineconstexpr

Vue 1D sur l'instance (uniquement si rank == 1)

Définition à la ligne 528 du fichier utils/NumArray.h.

◆ to1DSmallSpan() [2/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr SmallSpan< const DataType > Arcane::NumArray< DataType, Extents, LayoutPolicy >::to1DSmallSpan ( ) const
inlineconstexpr

Vue constante 1D sur l'instance (uniquement si rank == 1)

Définition à la ligne 530 du fichier utils/NumArray.h.

◆ to1DSpan() [1/2]

template<typename DataType , typename Extents , typename LayoutPolicy >
Span< DataType > Arcane::NumArray< DataType, Extents, LayoutPolicy >::to1DSpan ( )
inline

Vue 1D sur l'instance.

Définition à la ligne 515 du fichier utils/NumArray.h.

◆ to1DSpan() [2/2]

◆ totalNbElement()

template<typename DataType , typename Extents , typename LayoutPolicy >
constexpr Int64 Arcane::NumArray< DataType, Extents, LayoutPolicy >::totalNbElement ( ) const
inlineconstexpr

Nombre total d'éléments du tableau.

Définition à la ligne 237 du fichier utils/NumArray.h.


La documentation de cette classe a été générée à partir du fichier suivant :