MBDyn-1.7.3
|
#include <matvec.h>
Public Types | |
typedef ScalarTypeTraits< T > ::ScalarType | ScalarType |
typedef ScalarTypeTraits< T > ::DirectExpressionType | ExpressionType |
Public Member Functions | |
Vector () | |
Vector (index_type N) | |
Vector (const Vector &oVec) | |
Vector (const T &v1, const T &v2) | |
template<typename Expr1 , typename Expr2 > | |
Vector (const GradientExpression< Expr1 > &v1, const GradientExpression< Expr2 > &v2) | |
Vector (const T &v1, const T &v2, const T &v3) | |
template<typename Expr1 , typename Expr2 , typename Expr3 > | |
Vector (const GradientExpression< Expr1 > &v1, const GradientExpression< Expr2 > &v2, const GradientExpression< Expr3 > &v3) | |
Vector (const Vec3 &v) | |
template<typename Expression > | |
Vector (const VectorExpression< Expression, N_rows > &f) | |
template<typename InitClass > | |
Vector (const VectorInit< InitClass, T, N_rows > &func) | |
template<typename T2 > | |
Vector (const Vector< T2, N_rows > &v) | |
template<typename T2 > | |
Vector (const Vector< T2, N_rows > &v, LocalDofMap *pDofMap) | |
template<typename T2 > | |
void | Copy (const Vector< T2, N_rows > &v, LocalDofMap *pDofMap) |
void | Reset () |
void | Resize (index_type iNumRows) |
template<typename Expression > | |
Vector & | operator= (const VectorExpression< Expression, N_rows > &f) |
template<typename T_Rhs > | |
Vector & | operator+= (const Vector< T_Rhs, N_rows > &v) |
Vector & | operator+= (const Vec3 &v) |
template<typename T_Rhs > | |
Vector & | operator-= (const Vector< T_Rhs, N_rows > &v) |
template<typename Expression > | |
Vector & | operator+= (const VectorExpression< Expression, N_rows > &f) |
template<typename Expression > | |
Vector & | operator-= (const VectorExpression< Expression, N_rows > &f) |
template<typename T_Rhs > | |
Vector & | operator*= (const T_Rhs &g) |
template<typename T_Rhs > | |
Vector & | operator/= (const T_Rhs &g) |
template<typename ScalarExpression > | |
Vector & | operator*= (const GradientExpression< ScalarExpression > &f) |
template<typename ScalarExpression > | |
Vector & | operator/= (const GradientExpression< ScalarExpression > &f) |
Vector & | operator= (const Vec3 &v) |
const ScalarType & | operator() (index_type iRow) const |
ScalarType & | operator() (index_type iRow) |
index_type | iGetNumRows () const |
ScalarType * | pGetVec () |
const ScalarType * | pGetVec () const |
template<typename ScalarType2 > | |
bool | bHaveReferenceTo (const ScalarType2 *pFirst, const ScalarType2 *pLast) const |
Static Public Attributes | |
static const index_type | iNumRows = N_rows |
static const index_type | iInitNumRows = iNumRows == DYNAMIC_SIZE ? 0 : iNumRows |
Private Member Functions | |
const ScalarType * | pGetFirstElem () const |
const ScalarType * | pGetLastElem () const |
template<typename Func , typename U > | |
void | ApplyScalarFunc (const U &a) |
template<typename Func , typename Expression > | |
void | ApplyMatrixFunc (const VectorExpression< Expression, N_rows > &A) |
template<typename Func , typename Expression > | |
void | ApplyMatrixFuncNoAlias (const VectorExpression< Expression, N_rows > &A, const Func &) |
template<typename Func , typename Expression > | |
void | ApplyMatrixFuncAlias (const VectorExpression< Expression, N_rows > &A, const Func &f) |
Private Attributes | |
VectorData< ScalarType, N_rows > | rgVec |
Friends | |
struct | MatVecHelp::ApplyAliasHelperMatrix< false > |
struct | MatVecHelp::ApplyAliasHelperMatrix< true > |
typedef ScalarTypeTraits<T>::DirectExpressionType grad::Vector< T, N_rows >::ExpressionType |
typedef ScalarTypeTraits<T>::ScalarType grad::Vector< T, N_rows >::ScalarType |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
Definition at line 2564 of file matvec.h.
References grad::Direct(), and grad::Vector< T, N_rows >::iNumRows.
|
inline |
Definition at line 2314 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::ApplyMatrixFuncNoAlias().
|
inlineexplicit |
Definition at line 2322 of file matvec.h.
|
inlineexplicit |
Definition at line 2328 of file matvec.h.
References grad::Convert(), grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), grad::Vector< T, N_rows >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2339 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::Copy().
|
inlineprivate |
Definition at line 2519 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::ApplyMatrixFunc().
|
inlineprivate |
Definition at line 2537 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::ApplyMatrixFuncNoAlias().
|
inlineprivate |
Definition at line 2526 of file matvec.h.
References grad::VectorExpression< Expression, N_rows >::iGetNumRows(), grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), MATVEC_ASSERT, grad::Matrix< T, N_rows, N_cols >::pGetFirstElem(), and grad::Matrix< T, N_rows, N_cols >::pGetLastElem().
|
inlineprivate |
Definition at line 2512 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows().
|
inline |
Definition at line 2492 of file matvec.h.
References grad::bArrayOverlap(), grad::Matrix< T, N_rows, N_cols >::pGetFirstElem(), and grad::Matrix< T, N_rows, N_cols >::pGetLastElem().
|
inline |
Definition at line 2346 of file matvec.h.
References grad::Copy(), grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), grad::Vector< T, N_rows >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2480 of file matvec.h.
References MATVEC_ASSERT.
Referenced by grad::GradientAssVec< doublereal >::AddItem(), grad::Vector< T, N_rows >::Copy(), doVecMul(), grad::GradientVectorHandler< doublereal >::GetVec(), grad::MatrixVectorProduct< N_rows, N_cols, MatrixLhsExpr, VectorRhsExpr >::operator()(), grad::MatrixVectorProduct< DYNAMIC_SIZE, DYNAMIC_SIZE, MatrixLhsExpr, VectorRhsExpr >::operator()(), grad::MatrixMatrixProduct< MatrixLhsExpr, MatrixRhsExpr >::operator()(), grad::operator*(), grad::Vector< T, N_rows >::operator+=(), grad::Vector< T, N_rows >::operator-=(), grad::SubVector(), testMatVecCopy(), testMatVecProduct(), testMatVecProductGradient(), testVecOp(), and grad::Vector< T, N_rows >::Vector().
|
inline |
Definition at line 2466 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2473 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
|
inline |
|
inline |
Definition at line 2378 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), grad::Vector< T, N_rows >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2387 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2409 of file matvec.h.
References grad::VectorExpression< Expression, N_rows >::iGetNumRows(), grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2399 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), grad::Vector< T, N_rows >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
Definition at line 2419 of file matvec.h.
References grad::VectorExpression< Expression, N_rows >::iGetNumRows(), grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), and MATVEC_ASSERT.
|
inline |
|
inline |
|
inline |
Definition at line 2367 of file matvec.h.
References grad::VectorExpression< Expression, N_rows >::iGetNumRows(), and grad::Vector< T, N_rows >::Resize().
|
inline |
Definition at line 2575 of file matvec.h.
References grad::Direct().
|
inlineprivate |
|
inlineprivate |
|
inline |
|
inline |
Definition at line 2489 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::pGetFirstElem().
|
inline |
Definition at line 2356 of file matvec.h.
References grad::Matrix< T, N_rows, N_cols >::iGetNumRows(), and grad::Reset().
Referenced by testMatVecCopy(), and testMatVecProductGradient().
|
inline |
|
friend |
|
friend |
|
static |
|
static |
Definition at line 2258 of file matvec.h.
Referenced by grad::MatrixMatrixProduct< MatrixLhsExpr, MatrixRhsExpr >::GetRow(), grad::MatCrossInit< T, VectorExpr >::iGetNumRows(), grad::MatRInit< T, VectorExpr >::iGetNumRows(), grad::MatCrossCrossInit< T, VectorExpr >::iGetNumRows(), grad::MatGInit< T, VectorExpr >::iGetNumRows(), grad::VecRotInit< T, MatrixExpr >::iGetNumRows(), grad::VectorCrossExpr< VectorLhsExpr, VectorRhsExpr >::iGetNumRows(), grad::MatrixVectorProduct< N_rows, N_cols, MatrixLhsExpr, VectorRhsExpr >::iGetNumRows(), grad::MatrixMatrixProduct< MatrixLhsExpr, MatrixRhsExpr >::iGetNumRows(), grad::MatrixMatrixProduct< MatrixLhsExpr, MatrixRhsExpr >::MatrixMatrixProduct(), grad::MatrixVectorProduct< N_rows, N_cols, MatrixLhsExpr, VectorRhsExpr >::MatrixVectorProduct(), grad::VectorCrossExpr< VectorLhsExpr, VectorRhsExpr >::operator()(), grad::Vector< T, N_rows >::Vector(), and grad::VectorCrossExpr< VectorLhsExpr, VectorRhsExpr >::VectorCrossExpr().
|
private |