36 #ifndef EXPRESSION_TRANSPOSE_HPP 37 #define EXPRESSION_TRANSPOSE_HPP 39 #include <lifev/core/LifeV.hpp> 41 #include <lifev/eta/expression/ExpressionBase.hpp> 42 #include <lifev/eta/expression/ExpressionMatrix.hpp> 47 namespace ExpressionAssembly
66 template <
typename ExpressionType>
67 class ExpressionTranspose :
public ExpressionBase< ExpressionTranspose<ExpressionType> >
84 ExpressionTranspose (
const ExpressionType& expr)
85 : base_Type(), M_expr (expr) {}
88 ExpressionTranspose (
const ExpressionTranspose<ExpressionType>& expression)
89 : base_Type(), M_expr (expression.M_expr) {}
92 ~ExpressionTranspose() {}
101 static void display (std::ostream& out = std::cout)
103 out <<
" transpose ";
104 ExpressionType::display (out);
114 const ExpressionType& exprEx()
const 128 ExpressionTranspose();
133 ExpressionType M_expr;
155 template<
typename ExpressionType >
156 ExpressionTranspose<ExpressionType>
159 return ExpressionTranspose<ExpressionType> (expr.cast() );
165 ExpressionTranspose<ExpressionMatrix<Dim1, Dim2> >
166 transpose (
const MatrixSmall<Dim1, Dim2>& m)
168 return ExpressionTranspose<ExpressionMatrix<Dim2, Dim1> > (ExpressionMatrix<Dim1, Dim2> (m) );
void updateInverseJacobian(const UInt &iQuadPt)
class ExpressionBase Base class (static polymorphism, CRTP sense) for all the expressions used in ass...
uint32_type UInt
generic unsigned integer (used mainly for addressing)