Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes. Plus de détails...
#include <arcane/utils/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 coefficiants nuls. | |
template<int S = RowSize, typename = std::enable_if_t<S == 2, void>> | |
constexpr ARCCORE_HOST_DEVICE | NumMatrix (const VectorType &ax, const VectorType &ay) |
Construit la matrice avec les lignes (ax,ay) | |
template<int S = RowSize, typename = std::enable_if_t<S == 3, void>> | |
constexpr ARCCORE_HOST_DEVICE | NumMatrix (const VectorType &ax, const VectorType &ay, const VectorType &az) |
Construit la matrice avec les lignes (ax,ay,az) | |
template<int S = RowSize, typename = std::enable_if_t<S == 4, void>> | |
constexpr ARCCORE_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) | |
template<int S = RowSize, typename = std::enable_if_t<S == 4, void>> | |
constexpr ARCCORE_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 ARCCORE_HOST_DEVICE | NumMatrix (T v) |
Construit l'instance avec le triplet (v,v,v). | |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare2(), void>> | |
constexpr ARCCORE_HOST_DEVICE | NumMatrix (Real2x2 v) |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> | |
constexpr ARCCORE_HOST_DEVICE | NumMatrix (Real3x3 v) |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator= (T v) |
Affecte à l'instance le triplet (v,v,v). | |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare2(), void>> | |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator= (const Real2x2 &v) |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> | |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator= (const Real3x3 &v) |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare2(), void>> | |
operator Real2x2 () const | |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> | |
operator Real3x3 () const | |
constexpr ARCCORE_HOST_DEVICE bool | isNearlyZero () const |
Compare la matrice avec la matrice nulle. | |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator+= (const ThatClass &b) |
Ajoute b au triplet. | |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator-= (const ThatClass &b) |
Soustrait b au triplet. | |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator*= (T b) |
Multiple chaque composante de la matrice par le réel b. | |
constexpr ARCCORE_HOST_DEVICE ThatClass & | operator/= (T b) |
Divise chaque composante de la matrice par le réel b. | |
constexpr ARCCORE_HOST_DEVICE ThatClass | operator- () const |
Créé un tenseur opposé au tenseur actuel. | |
constexpr ARCCORE_HOST_DEVICE VectorType | operator() (Int32 i) const |
constexpr ARCCORE_HOST_DEVICE VectorType | operator[] (Int32 i) const |
constexpr ARCCORE_HOST_DEVICE T & | operator() (Int32 i, Int32 j) |
constexpr ARCCORE_HOST_DEVICE T | operator() (Int32 i, Int32 j) const |
constexpr ARCCORE_HOST_DEVICE void | setLine (Int32 i, const VectorType &v) |
Positionne à v la valeur de la i-ème ligne. | |
template<int S = RowSize, typename = std::enable_if_t<S >= 1, void > | |
VectorType & | vx () |
template<int S = RowSize, typename = std::enable_if_t<S >= 1, void > | |
VectorType | vx () const |
template<int S = RowSize, typename = std::enable_if_t<S >= 2, void > | |
VectorType & | vy () |
template<int S = RowSize, typename = std::enable_if_t<S >= 2, void > | |
VectorType | vy () const |
template<int S = RowSize, typename = std::enable_if_t<S >= 3, void > | |
VectorType & | vz () |
template<int S = RowSize, typename = std::enable_if_t<S >= 3, void > | |
VectorType | vz () const |
Fonctions membres publiques statiques | |
constexpr static ARCCORE_HOST_DEVICE ThatClass | zero () |
Construit la matrice nulle. | |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> | |
constexpr static ARCCORE_HOST_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)). | |
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> | |
constexpr static ARCCORE_HOST_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)). | |
Fonctions membres privées statiques | |
static constexpr bool | isSquare () |
static constexpr bool | isSquare2 () |
static constexpr bool | isSquare3 () |
constexpr static ARCCORE_HOST_DEVICE bool | _eq (T a, T b) |
Compare les valeurs de a et b avec le comparateur TypeEqualT. | |
Attributs privés | |
VectorType | m_values [RowSize] = {} |
Attributs privés statiques | |
static constexpr int | Size = RowSize |
Amis | |
constexpr ARCCORE_HOST_DEVICE ThatClass | operator+ (const ThatClass &a, const ThatClass &b) |
Créé un triplet qui vaut ce triplet ajouté à b. | |
constexpr ARCCORE_HOST_DEVICE ThatClass | operator- (const ThatClass &a, const ThatClass &b) |
Créé un triplet qui vaut b soustrait de ce triplet. | |
constexpr ARCCORE_HOST_DEVICE ThatClass | operator* (DataType a, const ThatClass &mat) |
Multiplication par un scalaire. | |
constexpr ARCCORE_HOST_DEVICE ThatClass | operator* (const ThatClass &mat, DataType b) |
Multiplication par un scalaire. | |
constexpr ARCCORE_HOST_DEVICE ThatClass | operator/ (const ThatClass &mat, DataType b) |
Division par un scalaire. | |
constexpr ARCCORE_HOST_DEVICE bool | operator== (const ThatClass &a, const ThatClass &b) |
Compare composant pas composante l'instance courante à b. | |
constexpr ARCCORE_HOST_DEVICE bool | operator!= (const ThatClass &a, const ThatClass &b) |
Compare deux triplets. Pour la notion d'égalité, voir operator==() | |
Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes.
Il est possible d'accéder à chaque composante du vecteur par 'operator[]' ou 'operator()' ou par les méthodes vx(), vy(), vz() si la dimension est suffisante (par exemple vz() est uniquement accessible si la Size>=3.
Définition à la ligne 41 du fichier NumMatrix.h.
using Arcane::NumMatrix< T, RowSize, ColumnSize >::DataType = T |
Définition à la ligne 56 du fichier NumMatrix.h.
using Arcane::NumMatrix< T, RowSize, ColumnSize >::ThatClass = NumMatrix<T, RowSize, ColumnSize> |
Définition à la ligne 55 du fichier NumMatrix.h.
using Arcane::NumMatrix< T, RowSize, ColumnSize >::VectorType = NumVector<T, ColumnSize> |
Définition à la ligne 54 du fichier NumMatrix.h.
|
inlineconstexpr |
Construit la matrice avec les lignes (ax,ay)
Définition à la ligne 65 du fichier NumMatrix.h.
|
inlineconstexpr |
Construit la matrice avec les lignes (ax,ay,az)
Définition à la ligne 73 du fichier NumMatrix.h.
|
inlineconstexpr |
Construit la matrice avec les lignes (a1,a2,a3,a4)
Définition à la ligne 82 du fichier NumMatrix.h.
|
inlineconstexpr |
Construit la matrice avec les lignes (a1,a2,a3,a4,a5)
Définition à la ligne 93 du fichier NumMatrix.h.
|
inlineexplicitconstexpr |
Construit l'instance avec le triplet (v,v,v).
Définition à la ligne 105 du fichier NumMatrix.h.
|
inlineexplicitconstexpr |
Définition à la ligne 112 du fichier NumMatrix.h.
|
inlineexplicitconstexpr |
Définition à la ligne 117 du fichier NumMatrix.h.
|
inlinestaticconstexprprivate |
Compare les valeurs de a et b avec le comparateur TypeEqualT.
true | si a et b sont égaux, |
false | sinon. |
Définition à la ligne 383 du fichier NumMatrix.h.
Références Arcane::TypeEqualT< T >::isEqual().
|
inlinestaticconstexpr |
Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
Définition à la ligne 165 du fichier NumMatrix.h.
|
inlinestaticconstexpr |
Construit la matrice ((ax,bx,cx),(ay,by,cy),(az,bz,cz)).
Définition à la ligne 172 du fichier NumMatrix.h.
|
inlineconstexpr |
Compare la matrice avec la matrice nulle.
La matrice est nulle si et seulement si chacune de ses composantes est inférieure à un espilon donné. La valeur de l'epsilon utilisée est celle de float_info<value_type>::nearlyEpsilon():
\[A=0 \Leftrightarrow |A.x|<\epsilon,|A.y|<\epsilon,|A.z|<\epsilon \]
true | si la matrice est égale à la matrice nulle, |
false | sinon. |
Définition à la ligne 190 du fichier NumMatrix.h.
|
inlinestaticconstexprprivate |
Définition à la ligne 48 du fichier NumMatrix.h.
|
inlinestaticconstexprprivate |
Définition à la ligne 49 du fichier NumMatrix.h.
|
inlinestaticconstexprprivate |
Définition à la ligne 50 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 144 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 150 du fichier NumMatrix.h.
|
inlineconstexpr |
Définition à la ligne 304 du fichier NumMatrix.h.
|
inlineconstexpr |
Définition à la ligne 316 du fichier NumMatrix.h.
|
inlineconstexpr |
Définition à la ligne 323 du fichier NumMatrix.h.
|
inlineconstexpr |
Multiple chaque composante de la matrice par le réel b.
Définition à la ligne 213 du fichier NumMatrix.h.
|
inlineconstexpr |
Ajoute b au triplet.
Définition à la ligne 199 du fichier NumMatrix.h.
|
inlineconstexpr |
Créé un tenseur opposé au tenseur actuel.
Définition à la ligne 243 du fichier NumMatrix.h.
|
inlineconstexpr |
Soustrait b au triplet.
Définition à la ligne 206 du fichier NumMatrix.h.
|
inlineconstexpr |
Divise chaque composante de la matrice par le réel b.
Définition à la ligne 220 du fichier NumMatrix.h.
|
inlineconstexpr |
Définition à la ligne 130 du fichier NumMatrix.h.
|
inlineconstexpr |
Définition à la ligne 137 du fichier NumMatrix.h.
|
inlineconstexpr |
Affecte à l'instance le triplet (v,v,v).
Définition à la ligne 122 du fichier NumMatrix.h.
|
inlineconstexpr |
Définition à la ligne 310 du fichier NumMatrix.h.
|
inlineconstexpr |
Positionne à v la valeur de la i-ème ligne.
Définition à la ligne 331 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 340 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 345 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 351 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 356 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 362 du fichier NumMatrix.h.
|
inline |
Définition à la ligne 367 du fichier NumMatrix.h.
|
inlinestaticconstexpr |
Construit la matrice nulle.
Définition à la ligne 158 du fichier NumMatrix.h.
Compare deux triplets. Pour la notion d'égalité, voir operator==()
true | si les deux triplets sont différents, |
false | sinon. |
Définition à la ligne 296 du fichier NumMatrix.h.
Multiplication par un scalaire.
Définition à la ligne 260 du fichier NumMatrix.h.
Multiplication par un scalaire.
Définition à la ligne 252 du fichier NumMatrix.h.
|
friend |
Créé un triplet qui vaut ce triplet ajouté à b.
Définition à la ligne 227 du fichier NumMatrix.h.
|
friend |
Créé un triplet qui vaut b soustrait de ce triplet.
Définition à la ligne 235 du fichier NumMatrix.h.
Division par un scalaire.
Définition à la ligne 268 du fichier NumMatrix.h.
Compare composant pas composante l'instance courante à b.
true | si this.x==b.x et this.y==b.y et this.z==b.z. |
false | sinon. |
Définition à la ligne 282 du fichier NumMatrix.h.
|
private |
Définition à la ligne 374 du fichier NumMatrix.h.
|
staticconstexprprivate |
Définition à la ligne 47 du fichier NumMatrix.h.