5 #ifndef GKO_PUBLIC_CORE_DISTRIBUTED_LIN_OP_HPP_
6 #define GKO_PUBLIC_CORE_DISTRIBUTED_LIN_OP_HPP_
10 #include <type_traits>
13 #include <ginkgo/config.hpp>
19 #include <ginkgo/core/base/lin_op.hpp>
20 #include <ginkgo/core/distributed/polymorphic_object.hpp>
24 namespace experimental {
41 template <
typename ConcreteLinOp,
typename PolymorphicBase = LinOp>
52 PolymorphicBase::apply(b, x);
58 PolymorphicBase::apply(b, x);
67 PolymorphicBase::apply(alpha, b, beta, x);
74 PolymorphicBase::apply(alpha, b, beta, x);
79 GKO_ENABLE_SELF(ConcreteLinOp);
87 #endif // GINKGO_BUILD_MPI
88 #endif // GKO_PUBLIC_CORE_DISTRIBUTED_LIN_OP_HPP_