Arcane  4.2.1.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::NumMatrix< T, RowSize, ColumnSize >

Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes. Plus de détails...

#include <arccore/base/NumMatrix.h>

Types publics

using VectorType = NumVector<T, ColumnSize>
using ThatClass = NumMatrix<T, RowSize, ColumnSize>
using DataType = T

Fonctions membres publiques

 NumMatrix ()=default
 Construit la matrice avec tous les coefficients à zéro.
constexpr __host__ __device__ NumMatrix (const VectorType &ax, const VectorType &ay)
 Construit la matrice avec les lignes (ax, ay).
constexpr __host__ __device__ NumMatrix (const VectorType &ax, const VectorType &ay, const VectorType &az)
 Construit la matrice avec les lignes (ax, ay, az).
constexpr __host__ __device__ NumMatrix (const VectorType &a1, const VectorType &a2, const VectorType &a3, const VectorType &a4)
 Construit la matrice avec les lignes (a1, a2, a3, a4).
constexpr __host__ __device__ NumMatrix (const VectorType &a1, const VectorType &a2, const VectorType &a3, const VectorType &a4, const VectorType &a5)
 Construit la matrice avec les lignes (a1, a2, a3, a4, a5).
constexpr __host__ __device__ NumMatrix (const VectorType &a1, const VectorType &a2, const VectorType &a3, const VectorType &a4, const VectorType &a5, const VectorType &a6)
 Construit la matrice avec les lignes (a1, a2, a3, a4, a5, a6).
constexpr __host__ __device__ NumMatrix (const T &v)
 Construit l'instance avec le triplet (v, v, v).
constexpr __host__ __device__ NumMatrix (const Real2x2 &v)
constexpr __host__ __device__ NumMatrix (const Real3x3 &v)
constexpr __host__ __device__ ThatClass & operator= (const DataType &v)
 Assigne le triplet (v, v, v) à l'instance.
constexpr __host__ __device__ ThatClass & operator= (const Real2x2 &v)
constexpr __host__ __device__ ThatClass & operator= (const Real3x3 &v)
 operator Real2x2 () const
 Conversion en Real2x2.
constexpr operator Real3x3 () const
 Conversion en Real3x3.
constexpr __host__ __device__ ThatClass operator- () const
 Crée un tenseur opposé au tenseur actuel.
constexpr __host__ __device__ VectorType row (Int32 i) const
constexpr __host__ __device__ DataType & operator() (Int32 i, Int32 j)
constexpr __host__ __device__ DataType operator() (Int32 i, Int32 j) const
constexpr __host__ __device__ void setRow (Int32 i, const VectorType &v)
 Définit la valeur de la i-ème ligne à v.
constexpr __host__ __device__ void fill (const DataType &v)
 Remplit la matrice avec la valeur v.
constexpr __host__ __device__ ArrayView< DataType > view ()
 Retourne une vue mutable des éléments de la matrice.
constexpr __host__ __device__ ConstArrayView< DataType > constView () const
 Retourne une vue en lecture seule des éléments de la matrice.
constexpr __host__ __device__ SmallSpan< DataType, NbElement > span ()
 Retourne une vue mutable des éléments de la matrice.
constexpr __host__ __device__ SmallSpan< const DataType, NbElement > constSpan () const
 Retourne une vue en lecture seule des éléments de la matrice.
constexpr const VectorType vx () const
constexpr const VectorType vy () const
constexpr const VectorType vz () const

Fonctions membres publiques statiques

constexpr __host__ static __device__ ThatClass zero ()
 Construit la matrice nulle.
constexpr __host__ static __device__ ThatClass fromColumns (T ax, T ay, T az, T bx, T by, T bz, T cx, T cy, T cz)
 Construit la matrice ((ax,bx,cx), (ay,by,cy), (az,bz,cz)).
constexpr __host__ static __device__ ThatClass fromLines (T ax, T bx, T cx, T ay, T by, T cy, T az, T bz, T cz)
 Construit la matrice ((ax,bx,cx), (ay,by,cy), (az,bz,cz)).

Amis

constexpr __host__ __device__ ThatClass & operator+= (ThatClass &a, const ThatClass &b)
 Ajoute b à a et retourne a.
constexpr __host__ __device__ ThatClass & operator-= (ThatClass &a, const ThatClass &b)
 Soustrait b de a et retourne a.
constexpr __host__ __device__ ThatClass & operator*= (ThatClass &a, T b)
 Multiplie chaque composante de la matrice a par le nombre réel b et retourne a.
constexpr __host__ __device__ ThatClass & operator/= (ThatClass &a, T b)
 Divise chaque composante de la matrice par le nombre réel b.
constexpr __host__ __device__ ThatClass operator+ (const ThatClass &a, const ThatClass &b)
 Crée un triplet qui est égal à ce triplet ajouté à b.
constexpr __host__ __device__ ThatClass operator- (const ThatClass &a, const ThatClass &b)
 Crée un triplet qui est égal à a soustrait de ce triplet.
constexpr __host__ __device__ ThatClass operator* (DataType a, const ThatClass &mat)
 Multiplication par un scalaire.
constexpr __host__ __device__ ThatClass operator* (const ThatClass &mat, DataType b)
 Multiplication par un scalaire.
constexpr __host__ __device__ ThatClass operator/ (const ThatClass &mat, DataType b)
 Division par un scalaire.
constexpr __host__ __device__ bool operator== (const ThatClass &a, const ThatClass &b)
 Compare l'instance actuelle composante par composante à b.
constexpr __host__ __device__ bool operator!= (const ThatClass &a, const ThatClass &b)
 Compare deux triplets.
std::ostream & operator<< (std::ostream &o, const NumMatrix &t)

Description détaillée

template<typename T, int RowSize, int ColumnSize>
class Arcane::NumMatrix< T, RowSize, ColumnSize >

Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes.

Il est possible d'accéder à chaque ligne en utilisant la méthode 'row()' ou via les méthodes vx(), vy(), vz() si la dimension est suffisante (par exemple, vz() n'est accessible que si Size>=3.

Définition à la ligne 37 du fichier arccore/src/base/arccore/base/NumMatrix.h.

Documentation des définitions de type membres

◆ DataType

template<typename T, int RowSize, int ColumnSize>
using Arcane::NumMatrix< T, RowSize, ColumnSize >::DataType = T

Définition à la ligne 52 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ ThatClass

template<typename T, int RowSize, int ColumnSize>
using Arcane::NumMatrix< T, RowSize, ColumnSize >::ThatClass = NumMatrix<T, RowSize, ColumnSize>

Définition à la ligne 51 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ VectorType

template<typename T, int RowSize, int ColumnSize>
using Arcane::NumMatrix< T, RowSize, ColumnSize >::VectorType = NumVector<T, ColumnSize>

Définition à la ligne 50 du fichier arccore/src/base/arccore/base/NumMatrix.h.

Documentation des constructeurs et destructeur

◆ NumMatrix() [1/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const VectorType & ax,
const VectorType & ay )
inlineconstexpr

Construit la matrice avec les lignes (ax, ay).

Définition à la ligne 60 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [2/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const VectorType & ax,
const VectorType & ay,
const VectorType & az )
inlineconstexpr

Construit la matrice avec les lignes (ax, ay, az).

Définition à la ligne 68 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [3/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const VectorType & a1,
const VectorType & a2,
const VectorType & a3,
const VectorType & a4 )
inlineconstexpr

Construit la matrice avec les lignes (a1, a2, a3, a4).

Définition à la ligne 77 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [4/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const VectorType & a1,
const VectorType & a2,
const VectorType & a3,
const VectorType & a4,
const VectorType & a5 )
inlineconstexpr

Construit la matrice avec les lignes (a1, a2, a3, a4, a5).

Définition à la ligne 88 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [5/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const VectorType & a1,
const VectorType & a2,
const VectorType & a3,
const VectorType & a4,
const VectorType & a5,
const VectorType & a6 )
inlineconstexpr

Construit la matrice avec les lignes (a1, a2, a3, a4, a5, a6).

Définition à la ligne 101 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [6/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const T & v)
inlineexplicitconstexpr

Construit l'instance avec le triplet (v, v, v).

Définition à la ligne 115 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [7/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const Real2x2 & v)
inlineexplicitconstexpr

Définition à la ligne 121 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ NumMatrix() [8/8]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ Arcane::NumMatrix< T, RowSize, ColumnSize >::NumMatrix ( const Real3x3 & v)
inlineexplicitconstexpr

Définition à la ligne 126 du fichier arccore/src/base/arccore/base/NumMatrix.h.

Documentation des fonctions membres

◆ constSpan()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ SmallSpan< const DataType, NbElement > Arcane::NumMatrix< T, RowSize, ColumnSize >::constSpan ( ) const
inlineconstexpr

Retourne une vue en lecture seule des éléments de la matrice.

Définition à la ligne 353 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ constView()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ConstArrayView< DataType > Arcane::NumMatrix< T, RowSize, ColumnSize >::constView ( ) const
inlineconstexpr

Retourne une vue en lecture seule des éléments de la matrice.

Définition à la ligne 341 du fichier arccore/src/base/arccore/base/NumMatrix.h.

Référencé par Arcane::NumMatrix< DataType, Row, Column >::operator Real3x3().

◆ fill()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ void Arcane::NumMatrix< T, RowSize, ColumnSize >::fill ( const DataType & v)
inlineconstexpr

Remplit la matrice avec la valeur v.

Définition à la ligne 327 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ fromColumns()

template<typename T, int RowSize, int ColumnSize>
__host__ static __device__ ThatClass Arcane::NumMatrix< T, RowSize, ColumnSize >::fromColumns ( T ax,
T ay,
T az,
T bx,
T by,
T bz,
T cx,
T cy,
T cz )
inlinestaticconstexpr

Construit la matrice ((ax,bx,cx), (ay,by,cy), (az,bz,cz)).

Définition à la ligne 174 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ fromLines()

template<typename T, int RowSize, int ColumnSize>
__host__ static __device__ ThatClass Arcane::NumMatrix< T, RowSize, ColumnSize >::fromLines ( T ax,
T bx,
T cx,
T ay,
T by,
T cy,
T az,
T bz,
T cz )
inlinestaticconstexpr

Construit la matrice ((ax,bx,cx), (ay,by,cy), (az,bz,cz)).

Définition à la ligne 181 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator Real2x2()

template<typename T, int RowSize, int ColumnSize>
Arcane::NumMatrix< T, RowSize, ColumnSize >::operator Real2x2 ( ) const
inline

Conversion en Real2x2.

Définition à la ligne 154 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator Real3x3()

template<typename T, int RowSize, int ColumnSize>
Arcane::NumMatrix< T, RowSize, ColumnSize >::operator Real3x3 ( ) const
inlineconstexpr

Conversion en Real3x3.

Définition à la ligne 160 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator()() [1/2]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ DataType & Arcane::NumMatrix< T, RowSize, ColumnSize >::operator() ( Int32 i,
Int32 j )
inlineconstexpr

Définition à la ligne 302 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator()() [2/2]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ DataType Arcane::NumMatrix< T, RowSize, ColumnSize >::operator() ( Int32 i,
Int32 j ) const
inlineconstexpr

Définition à la ligne 310 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator-()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass Arcane::NumMatrix< T, RowSize, ColumnSize >::operator- ( ) const
inlineconstexpr

Crée un tenseur opposé au tenseur actuel.

Définition à la ligne 234 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator=() [1/3]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & Arcane::NumMatrix< T, RowSize, ColumnSize >::operator= ( const DataType & v)
inlineconstexpr

Assigne le triplet (v, v, v) à l'instance.

Définition à la ligne 132 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator=() [2/3]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & Arcane::NumMatrix< T, RowSize, ColumnSize >::operator= ( const Real2x2 & v)
inlineconstexpr

Définition à la ligne 139 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator=() [3/3]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & Arcane::NumMatrix< T, RowSize, ColumnSize >::operator= ( const Real3x3 & v)
inlineconstexpr

Définition à la ligne 146 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ row()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ VectorType Arcane::NumMatrix< T, RowSize, ColumnSize >::row ( Int32 i) const
inlineconstexpr

Définition à la ligne 295 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ setRow()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ void Arcane::NumMatrix< T, RowSize, ColumnSize >::setRow ( Int32 i,
const VectorType & v )
inlineconstexpr

◆ span()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ SmallSpan< DataType, NbElement > Arcane::NumMatrix< T, RowSize, ColumnSize >::span ( )
inlineconstexpr

Retourne une vue mutable des éléments de la matrice.

Définition à la ligne 347 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ view()

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ArrayView< DataType > Arcane::NumMatrix< T, RowSize, ColumnSize >::view ( )
inlineconstexpr

Retourne une vue mutable des éléments de la matrice.

Définition à la ligne 335 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ vx()

template<typename T, int RowSize, int ColumnSize>
const VectorType Arcane::NumMatrix< T, RowSize, ColumnSize >::vx ( ) const
inlineconstexpr

Définition à la ligne 366 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ vy()

template<typename T, int RowSize, int ColumnSize>
const VectorType Arcane::NumMatrix< T, RowSize, ColumnSize >::vy ( ) const
inlineconstexpr

Définition à la ligne 371 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ vz()

template<typename T, int RowSize, int ColumnSize>
const VectorType Arcane::NumMatrix< T, RowSize, ColumnSize >::vz ( ) const
inlineconstexpr

Définition à la ligne 376 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ zero()

template<typename T, int RowSize, int ColumnSize>
__host__ static __device__ ThatClass Arcane::NumMatrix< T, RowSize, ColumnSize >::zero ( )
inlinestaticconstexpr

Construit la matrice nulle.

Définition à la ligne 168 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator!=

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ bool operator!= ( const ThatClass & a,
const ThatClass & b )
friend

Compare deux triplets.

Pour la notion d'égalité, voir operator==()

Valeurs retournées
truesi les deux triplets sont différents,
falsesinon.

Définition à la ligne 288 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator* [1/2]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass operator* ( const ThatClass & mat,
DataType b )
friend

Multiplication par un scalaire.

Définition à la ligne 251 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator* [2/2]

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass operator* ( DataType a,
const ThatClass & mat )
friend

Multiplication par un scalaire.

Définition à la ligne 243 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator*=

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & operator*= ( ThatClass & a,
T b )
friend

Multiplie chaque composante de la matrice a par le nombre réel b et retourne a.

Définition à la ligne 204 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator+

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass operator+ ( const ThatClass & a,
const ThatClass & b )
friend

Crée un triplet qui est égal à ce triplet ajouté à b.

Définition à la ligne 218 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator+=

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & operator+= ( ThatClass & a,
const ThatClass & b )
friend

Ajoute b à a et retourne a.

Définition à la ligne 190 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator-

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass operator- ( const ThatClass & a,
const ThatClass & b )
friend

Crée un triplet qui est égal à a soustrait de ce triplet.

Définition à la ligne 226 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator-=

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & operator-= ( ThatClass & a,
const ThatClass & b )
friend

Soustrait b de a et retourne a.

Définition à la ligne 197 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator/

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass operator/ ( const ThatClass & mat,
DataType b )
friend

Division par un scalaire.

Définition à la ligne 259 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator/=

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ ThatClass & operator/= ( ThatClass & a,
T b )
friend

Divise chaque composante de la matrice par le nombre réel b.

Définition à la ligne 211 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator<<

template<typename T, int RowSize, int ColumnSize>
std::ostream & operator<< ( std::ostream & o,
const NumMatrix< T, RowSize, ColumnSize > & t )
friend

Définition à la ligne 358 du fichier arccore/src/base/arccore/base/NumMatrix.h.

◆ operator==

template<typename T, int RowSize, int ColumnSize>
__host__ __device__ bool operator== ( const ThatClass & a,
const ThatClass & b )
friend

Compare l'instance actuelle composante par composante à b.

Valeurs retournées
truesi this.x==b.x et this.y==b.y et this.z==b.z.
falsesinon.

Définition à la ligne 273 du fichier arccore/src/base/arccore/base/NumMatrix.h.


La documentation de cette classe a été générée à partir des fichiers suivants :