|
|
| NumMatrix ()=default |
| | Constructs the matrix with all coefficients zero.
|
| constexpr __host__ __device__ | NumMatrix (const VectorType &ax, const VectorType &ay) |
| | Constructs the matrix with rows (ax, ay).
|
| constexpr __host__ __device__ | NumMatrix (const VectorType &ax, const VectorType &ay, const VectorType &az) |
| | Constructs the matrix with rows (ax, ay, az).
|
| constexpr __host__ __device__ | NumMatrix (const VectorType &a1, const VectorType &a2, const VectorType &a3, const VectorType &a4) |
| | Constructs the matrix with rows (a1, a2, a3, a4).
|
| constexpr __host__ __device__ | NumMatrix (const VectorType &a1, const VectorType &a2, const VectorType &a3, const VectorType &a4, const VectorType &a5) |
| | Constructs the matrix with rows (a1, a2, a3, a4, a5).
|
| constexpr __host__ __device__ | NumMatrix (T v) |
| | Constructs the instance with the triplet (v, v, v).
|
| constexpr __host__ __device__ | NumMatrix (Real2x2 v) |
| constexpr __host__ __device__ | NumMatrix (Real3x3 v) |
| constexpr __host__ __device__ ThatClass & | operator= (T v) |
| | Assigns the triplet (v, v, v) to the instance.
|
| constexpr __host__ __device__ ThatClass & | operator= (const Real2x2 &v) |
| constexpr __host__ __device__ ThatClass & | operator= (const Real3x3 &v) |
| | operator Real2x2 () const |
| | operator Real3x3 () const |
| constexpr __host__ __device__ bool | isNearlyZero () const |
| | Compares the matrix with the zero matrix.
|
| constexpr __host__ __device__ ThatClass & | operator+= (const ThatClass &b) |
| | Adds b to the triplet.
|
| constexpr __host__ __device__ ThatClass & | operator-= (const ThatClass &b) |
| | Subtracts b from the triplet.
|
| constexpr __host__ __device__ ThatClass & | operator*= (T b) |
| | Multiplies each component of the matrix by the real number b.
|
| constexpr __host__ __device__ ThatClass & | operator/= (T b) |
| | Divides each component of the matrix by the real number b.
|
| constexpr __host__ __device__ ThatClass | operator- () const |
| | Creates a tensor opposite to the current tensor.
|
| 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) |
| | Sets the value of the i-th row to v.
|
| VectorType & | vx () |
| VectorType | vx () const |
| VectorType & | vy () |
| VectorType | vy () const |
| VectorType & | vz () |
| VectorType | vz () const |
|
| constexpr __host__ static __device__ ThatClass | zero () |
| | Constructs the zero matrix.
|
| constexpr __host__ static __device__ ThatClass | fromColumns (T ax, T ay, T az, T bx, T by, T bz, T cx, T cy, T cz) |
| | Constructs the matrix ((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) |
| | Constructs the matrix ((ax,bx,cx), (ay,by,cy), (az,bz,cz)).
|
|
| constexpr __host__ __device__ ThatClass | operator+ (const ThatClass &a, const ThatClass &b) |
| | Creates a triplet that equals this triplet added to b.
|
| constexpr __host__ __device__ ThatClass | operator- (const ThatClass &a, const ThatClass &b) |
| | Creates a triplet that equals a subtracted from this triplet.
|
| constexpr __host__ __device__ ThatClass | operator* (DataType a, const ThatClass &mat) |
| | Multiplication by a scalar.
|
| constexpr __host__ __device__ ThatClass | operator* (const ThatClass &mat, DataType b) |
| | Multiplication by a scalar.
|
| constexpr __host__ __device__ ThatClass | operator/ (const ThatClass &mat, DataType b) |
| | Division by a scalar.
|
| constexpr __host__ __device__ bool | operator== (const ThatClass &a, const ThatClass &b) |
| | Compares the current instance component by component to b.
|
| constexpr __host__ __device__ bool | operator!= (const ThatClass &a, const ThatClass &b) |
| | Compares two triplets. For the notion of equality, see operator==().
|
template<typename T, int RowSize, int ColumnSize>
class Arcane::NumMatrix< T, RowSize, ColumnSize >
Small fixed-size matrix containing RowSize rows and ColumnSize columns.
- Note
- Currently only implemented for the Real type.
- Warning
- API is under definition. Do not use outside of Arcane
It is possible to access each vector component using 'operator[]' or 'operator()' or via the methods vx(), vy(), vz() if the dimension is sufficient (for example, vz() is only accessible if Size>=3.
Definition at line 42 of file NumMatrix.h.
template<typename T, int RowSize, int ColumnSize>
| __host__ __device__ bool Arcane::NumMatrix< T, RowSize, ColumnSize >::isNearlyZero |
( |
| ) |
const |
|
inlineconstexpr |
Compares the matrix with the zero matrix.
The matrix is zero if and only if each of its components is less than a given epsilon. The epsilon value used is that of float_info<value_type>::nearlyEpsilon():
\[A=0 \Leftrightarrow |A.x|<\epsilon,|A.y|<\epsilon,|A.z|<\epsilon \]
- Return values
-
| true | if the matrix is equal to the zero matrix, |
| false | otherwise. |
Definition at line 185 of file NumMatrix.h.