|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
The scalar multiple Op := alpha * op. More...
#include <linear_ops.hpp>
Public Types | |
| using | backend_t = Backend |
| using | op_storage_t = ::mundy::storage<Op> |
Public Member Functions | |
| ScaledOp (backend_t, Scalar alpha, Op &&op) | |
| Backend | backend () const |
| Scalar | alpha () const |
| const auto & | op () const |
| size_t | domain_size () const |
| size_t | range_size () const |
| auto | make_domain_vector () const |
| auto | make_range_vector () const |
| template<class XVector, class YVector> | |
| void | apply (const XVector &x, YVector &y) const |
Applies via Backend::apply(alpha, op, x, beta, y): the fused path when op provides HasScaledApplyMember, else an apply-then-axpby fallback. Holds no persistent workspace; op's own (if any) is rebuilt per apply.
| using mundy::ScaledOp< Backend, Scalar, Op >::backend_t = Backend |
| using mundy::ScaledOp< Backend, Scalar, Op >::op_storage_t = ::mundy::storage<Op> |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |