Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes.
Plus de détails...
|
| NumMatrix ()=default |
| Construit la matrice avec tous les coefficiants nuls.
|
|
template<int S = RowSize, typename = std::enable_if_t<S == 2, void>> |
constexpr __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 __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 __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 __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 (T v) |
| Construit l'instance avec le triplet (v,v,v).
|
|
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare2(), void>> |
constexpr __host__ __device__ | NumMatrix (Real2x2 v) |
|
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> |
constexpr __host__ __device__ | NumMatrix (Real3x3 v) |
|
constexpr __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 __host__ __device__ ThatClass & | operator= (const Real2x2 &v) |
|
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> |
constexpr __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 __host__ __device__ bool | isNearlyZero () const |
| Compare la matrice avec la matrice nulle.
|
|
constexpr __host__ __device__ ThatClass & | operator+= (const ThatClass &b) |
| Ajoute b au triplet.
|
|
constexpr __host__ __device__ ThatClass & | operator-= (const ThatClass &b) |
| Soustrait b au triplet.
|
|
constexpr __host__ __device__ ThatClass & | operator*= (T b) |
| Multiple chaque composante de la matrice par le réel b.
|
|
constexpr __host__ __device__ ThatClass & | operator/= (T b) |
| Divise chaque composante de la matrice par le réel b.
|
|
constexpr __host__ __device__ ThatClass | operator- () const |
| Créé un tenseur opposé au tenseur actuel.
|
|
constexpr __host__ __device__ VectorType | operator() (Int32 i) const |
|
constexpr __host__ __device__ VectorType | operator[] (Int32 i) const |
|
constexpr __host__ __device__ T & | operator() (Int32 i, Int32 j) |
|
constexpr __host__ __device__ T | operator() (Int32 i, Int32 j) const |
|
constexpr __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 |
|
|
constexpr __host__ static __device__ ThatClass | zero () |
| Construit la matrice nulle.
|
|
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> |
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)).
|
|
template<typename X = ThatClass, typename = std::enable_if_t<X::isSquare3(), void>> |
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)).
|
|
|
constexpr __host__ __device__ ThatClass | operator+ (const ThatClass &a, const ThatClass &b) |
| Créé un triplet qui vaut ce triplet ajouté à b.
|
|
constexpr __host__ __device__ ThatClass | operator- (const ThatClass &a, const ThatClass &b) |
| Créé un triplet qui vaut b 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 composant pas composante l'instance courante à b.
|
|
constexpr __host__ __device__ bool | operator!= (const ThatClass &a, const ThatClass &b) |
| Compare deux triplets. Pour la notion d'égalité, voir operator==()
|
|
template<typename T, int RowSize, int ColumnSize>
class Arcane::NumMatrix< T, RowSize, ColumnSize >
Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes.
- Note
- Actuellement uniquement implémenté pour le type Real.
- Avertissement
- API en cours de définition. Ne pas utiliser en dehors de Arcane
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.