#pragma once #include <numeric> namespace haar_lib { template <typename T> struct lcm_monoid { using value_type = T; value_type operator()() const { return 1; } value_type operator()(value_type a, value_type b) const { return std::lcm(a, b); } }; } // namespace haar_lib
#line 2 "Mylib/AlgebraicStructure/Monoid/lcm.cpp" #include <numeric> namespace haar_lib { template <typename T> struct lcm_monoid { using value_type = T; value_type operator()() const { return 1; } value_type operator()(value_type a, value_type b) const { return std::lcm(a, b); } }; } // namespace haar_lib