mirror of
https://github.com/allemangD/toddcox-visualize.git
synced 2026-01-24 14:39:21 -05:00
This is a combination of many commits: --------------------------------------------------------------------------- final. add public/private for core classes. wip - big cleanup cosets. index<>, cosets<>, and group<> all defined transparent <void> overrides that operate directly on indices, not names inheritance hierarchy means one can drop or change generator names still missing path support. wip - named cosets fix lang test wip - named generators Move Group docstring away from specialization. Remove tc::Gen; use Group<void> remove tc::Rel add thousands separators for benchmark limits add generators list to tc::group remove pair_map
25 lines
684 B
C++
25 lines
684 B
C++
#pragma once
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
#include <tc/core.hpp>
|
|
|
|
namespace tc {
|
|
/**
|
|
* Construct a group from a (simplified) Schlafli Symbol of the form [a, b, ..., c]
|
|
* @param mults: The sequence of multiplicites between adjacent generators.
|
|
*/
|
|
Group<> schlafli(const std::vector<unsigned int> &mults);
|
|
|
|
Group<> coxeter(const std::string &symbol);
|
|
|
|
Group<> vcoxeter(const std::string &symbol, const std::vector<unsigned int> &values);
|
|
|
|
template<typename ...Args>
|
|
Group<> coxeter(const std::string &symbol, const Args &... args) {
|
|
std::vector<unsigned int> values = {{args...}};
|
|
return vcoxeter(symbol, values);
|
|
}
|
|
}
|