#pragma once namespace haar_lib { template <typename MonoidUpdate, typename MonoidGet> struct multiply_sum { using monoid_get = MonoidGet; using monoid_update = MonoidUpdate; using value_type_get = typename MonoidGet::value_type; using value_type_update = typename MonoidUpdate::value_type; value_type_get operator()(value_type_get &a, value_type_update &b, int len) const { return a * b; } }; } // namespace haar_lib
#line 2 "Mylib/AlgebraicStructure/MonoidAction/multiply_sum.cpp" namespace haar_lib { template <typename MonoidUpdate, typename MonoidGet> struct multiply_sum { using monoid_get = MonoidGet; using monoid_update = MonoidUpdate; using value_type_get = typename MonoidGet::value_type; using value_type_update = typename MonoidUpdate::value_type; value_type_get operator()(value_type_get &a, value_type_update &b, int len) const { return a * b; } }; } // namespace haar_lib