Morpheus 1.0.0
Dynamic matrix type and algorithms for sparse matrices
Loading...
Searching...
No Matches
Dynamic/Morpheus_Multiply_Impl.hpp
1
24#ifndef MORPHEUS_DYNAMIC_MULTIPLY_IMPL_HPP
25#define MORPHEUS_DYNAMIC_MULTIPLY_IMPL_HPP
26
27#include <Morpheus_FormatTags.hpp>
28
29#include <impl/Morpheus_Multiply_Impl.hpp>
30#include <impl/Morpheus_Variant.hpp>
31
32namespace Morpheus {
33namespace Impl {
34
35template <typename ExecSpace, typename Matrix, typename Vector>
36inline void multiply(
37 const Matrix& A, const Vector& x, Vector& y, const bool init,
38 typename std::enable_if<
41 nullptr) {
42 std::visit([&](auto&& arg) { Impl::multiply<ExecSpace>(arg, x, y, init); },
43 A.const_formats());
44}
45
46} // namespace Impl
47} // namespace Morpheus
48
49#endif // MORPHEUS_DYNAMIC_MULTIPLY_IMPL_HPP
Checks if the given type T is a valid Dense Vector Format Container i.e is valid vector container and...
Definition: Morpheus_FormatTags.hpp:273
Checks if the given type T is a valid Dynamic Matrix Format Container i.e is valid matrix container a...
Definition: Morpheus_FormatTags.hpp:201
Generic Morpheus interfaces.
Definition: dummy.cpp:24