33 #ifndef BSGS_EXPORT_H_
34 #define BSGS_EXPORT_H_
38 #include <permlib/permutation.h>
39 #include <permlib/transversal/schreier_tree_transversal.h>
41 #include <boost/foreach.hpp>
43 namespace permlib {
namespace exports {
81 for (
unsigned int i = 0; i <
sgsSize; ++i)
84 for (
unsigned int i = 0; i <
baseSize; ++i)
105 std::map<Permutation::ptr, int> generatorMap;
111 std::copy(bsgs.
B.begin(), bsgs.
B.end(), data->
base);
117 data->
sgs[idx] =
new dom_int[bsgs.
n];
118 std::copy(p->m_perm.begin(), p->m_perm.end(), data->
sgs[idx]);
119 generatorMap[p] = idx;
127 std::vector<int> transversalData(bsgs.
n);
128 for (
unsigned int i = 0; i < bsgs.
n; ++i) {
129 if (i == bsgs.
B[idx]) {
152 std::map<int, Permutation::ptr> generatorMap;
158 for (
unsigned int idx = 0; idx < data->
sgsSize; ++idx) {
160 bsgs->
S.push_back(perm);
161 generatorMap[idx] = perm;
167 for (
unsigned int idx = 0; idx < data->
baseSize; ++idx) {
169 for (
unsigned int i = 0; i < data->
n; ++i) {
173 }
else if (i == bsgs->
B[idx]) {
188 #endif // -- BSGS_EXPORT_H_