1
0

add context group to tc::Path and tc::Cosets

This commit is contained in:
2020-01-19 21:48:21 -05:00
parent 7afa9e0b36
commit f29724a185
3 changed files with 26 additions and 15 deletions

View File

@@ -6,6 +6,13 @@
#include <string>
namespace tc {
struct Action;
struct Path;
struct Cosets;
struct Rel;
struct Group;
struct SubGroup;
struct Action {
int from_idx = -1;
int gen = -1;
@@ -18,9 +25,10 @@ namespace tc {
};
struct Path {
const tc::Group &context;
std::vector<Action> path;
Path() = default;
explicit Path(const tc::Group &context);
Path(const Path &) = default;
@@ -71,13 +79,14 @@ namespace tc {
};
struct Cosets {
int ngens;
const tc::Group &context;
std::vector<int> data;
Path path;
Cosets(const Cosets &) = default;
explicit Cosets(int ngens);
explicit Cosets(const tc::Group &context);
void add_row();
@@ -105,8 +114,6 @@ namespace tc {
[[nodiscard]] Rel shift(int off) const;
};
struct SubGroup;
struct Group {
const int ngens;
std::vector<std::vector<int>> _mults;