#pragma once #include "groups.h" #include namespace tc { struct Cosets { int ngens; std::vector data; int len; Cosets(int ngens, const std::vector &data); void add_row(); void put(int coset, int gen, int target); void put(int idx, int target); [[nodiscard]] int get(int coset, int gen) const; [[nodiscard]] int get(int idx) const; }; struct RelTable { Mult mult; std::vector lst_ptr; std::vector gen; explicit RelTable(tc::Mult m); int add_row(); }; }