Skip to the content.

:warning: library/algebra/monoid/Lcm.hpp

Depends on

Code

template <typename X> struct MonoidLcm {
    using value_type = X;
    static constexpr X op(const X &x, const X &y) noexcept {
        return std::lcm(x, y);
    }
    static constexpr void Rchop(X &x, const X &y) { x = std::lcm(x, y); }
    static constexpr void Lchop(const X &x, X &y) { y = std::lcm(x, y); }
    static constexpr X unit() { return 1; }
    static constexpr bool commute = true;
};
#line 1 "library/algebra/monoid/Lcm.hpp"
template <typename X> struct MonoidLcm {
    using value_type = X;
    static constexpr X op(const X &x, const X &y) noexcept {
        return std::lcm(x, y);
    }
    static constexpr void Rchop(X &x, const X &y) { x = std::lcm(x, y); }
    static constexpr void Lchop(const X &x, X &y) { y = std::lcm(x, y); }
    static constexpr X unit() { return 1; }
    static constexpr bool commute = true;
};
Back to top page