Base class for all elementary implicit vector operations.
This class enables multiplication with scalar, addition and evaluation of implicit operations. The method eval() is the implementation of the actual operation that writes coefficients to the matrix. CRTP is used for compile time polymorphism of eval(), so that concrete operations only need to define this method.
Definition at line 82 of file ImplicitVectorOperators_fwd.hpp.
Public Member Functions | |
RowVecOp | eval (scalar_t alpha) const |
Write appropriate coefficients for this operation to the matrix. More... | |
RowVecOp | eval () const |
Eval with alpha = 1.0 . More... | |
void | operator= (const vector_t &x) |
Evaluates *this and sets rhs to x . More... | |
RowVecOp | operator* (scalar_t alpha) |
Multiply this operation by a scalar. More... | |
RowVecOp | operator+ (RowVecOp right) |
Combine this operation with another row operation. More... | |
RowVecOp | operator- () |
Multiply this operation by -1 . More... | |
template<typename other_derived_t > | |
RowVecOp | operator+ (const VecOpBase< other_derived_t > &right) |
Combine tho operation with another operation. Both operations are evaluated. More... | |
Friends | |
RowVecOp | operator* (scalar_t alpha, const VecOpBase &op) |
Multiply with scalar from the left. More... | |
Protected Member Functions | |
VecOpBase (ImplicitVectorOperators &op, int node, int row) | |
Construct operation for a given node. More... | |
Protected Attributes | |
ImplicitVectorOperators & | op |
Reference to underlying operators. More... | |
int | node |
Index of the point for which to apply the operation. More... | |
int | row |
Matrix row to which the operation should be applied (without offset). More... | |
|
inlineprotected |
Construct operation for a given node.
Definition at line 137 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Eval with alpha = 1.0
.
Definition at line 149 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Write appropriate coefficients for this operation to the matrix.
alpha | Scalar to multiply the coefficients with. |
Definition at line 145 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Multiply this operation by a scalar.
Definition at line 153 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Combine tho operation with another operation. Both operations are evaluated.
Definition at line 160 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Combine this operation with another row operation.
Definition at line 155 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Multiply this operation by -1
.
Definition at line 157 of file ImplicitVectorOperators_fwd.hpp.
|
inline |
Evaluates *this
and sets rhs to x
.
Definition at line 151 of file ImplicitVectorOperators_fwd.hpp.
|
friend |
Multiply with scalar from the left.
Definition at line 162 of file ImplicitVectorOperators_fwd.hpp.
|
protected |
Index of the point for which to apply the operation.
Definition at line 134 of file ImplicitVectorOperators_fwd.hpp.
|
protected |
Reference to underlying operators.
Definition at line 133 of file ImplicitVectorOperators_fwd.hpp.
|
protected |
Matrix row to which the operation should be applied (without offset).
Definition at line 135 of file ImplicitVectorOperators_fwd.hpp.