mirror of
https://github.com/allemangD/toddcox-visualize.git
synced 2025-11-10 03:52:48 -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
26 lines
636 B
C++
26 lines
636 B
C++
#include <tc/groups.hpp>
|
|
|
|
#include <fmt/args.h>
|
|
#include <fmt/core.h>
|
|
#include <numeric>
|
|
|
|
namespace tc {
|
|
Group<> schlafli(const std::vector<unsigned int> &mults) {
|
|
Group<> res(mults.size() + 1);
|
|
for (size_t i = 0; i < mults.size(); ++i) {
|
|
res.set(i, i + 1, mults[i]);
|
|
}
|
|
return res;
|
|
}
|
|
|
|
Group<> vcoxeter(const std::string &symbol, const std::vector<unsigned int> &values) {
|
|
fmt::dynamic_format_arg_store<fmt::format_context> ds;
|
|
|
|
for (const auto &value: values) {
|
|
ds.push_back(value);
|
|
}
|
|
|
|
return coxeter(fmt::vformat(symbol, ds));
|
|
}
|
|
}
|