|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
The range concatenation Op := [op1T; op2T], the transpose of ConcatDomainOp. More...
#include <linear_ops.hpp>
Classes | |
| struct | Workspace |
Public Types | |
| using | backend_t = Backend |
| using | op1t_storage_t = ::mundy::storage<Op1T> |
| using | op2t_storage_t = ::mundy::storage<Op2T> |
Public Member Functions | |
| ConcatRangeOp (backend_t, Op1T &&op1t, Op2T &&op2t) | |
| Backend | backend () const |
| const auto & | op1t () const |
| const auto & | op2t () const |
| size_t | domain_size () const |
| size_t | range_size () const |
| auto | make_domain_vector () const |
| auto | make_range_vector () const |
| auto | make_workspace (bool committed=false) const |
| template<class Op1TWorkspace, class Op2TWorkspace> | |
| auto | make_workspace (Op1TWorkspace &&op1t_workspace, Op2TWorkspace &&op2t_workspace, bool committed=false) const |
| template<class XVector, class YVector, class WorkspaceType> | |
| void | apply (const XVector &x, YVector &y, WorkspaceType &workspace) const |
| template<class XVector, class YVector> | |
| void | apply (const XVector &x, YVector &y) const |
Static Public Member Functions | |
| static constexpr size_t | static_domain_size () |
| static constexpr size_t | static_range_size () |
op1T and op2T share a domain but produce independent ranges: apply(v) = [op1T(v); op2T(v)].
| using mundy::ConcatRangeOp< Backend, Op1T, Op2T >::backend_t = Backend |
| using mundy::ConcatRangeOp< Backend, Op1T, Op2T >::op1t_storage_t = ::mundy::storage<Op1T> |
| using mundy::ConcatRangeOp< Backend, Op1T, Op2T >::op2t_storage_t = ::mundy::storage<Op2T> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |