33#ifndef REDUNDANT_BASE_POINT_INSERTION_STRATEGY_H_
34#define REDUNDANT_BASE_POINT_INSERTION_STRATEGY_H_
38template <
class PERM,
class TRANS>
42template <
class PERM,
class TRANS>
67template <
class PERM,
class TRANS>
76 for (
unsigned int i=0; i<B.size(); ++i) {
81 while (pos > 0 && U[pos-1].size() == 1)
88template <
class PERM,
class TRANS>
97 typename std::vector<dom_int>::const_iterator bIt = B.begin();
99 for (
unsigned int i=0; i<B.size(); ++i) {
109 std::copy_if(S.begin(), S.end(), std::back_inserter(S_i), stab_i);
112 if (stab_beta(beta)) {
insertion position at first position i such that stabilizes beta
Definition redundant_base_point_insertion_strategy.h:89
FirstRedundantBasePointInsertionStrategy(const BSGS< PERM, TRANS > &bsgs)
constructor
Definition redundant_base_point_insertion_strategy.h:92
virtual int findInsertionPoint(dom_int beta, std::list< typename PERM::ptr > &S_i) const
finds possible insertion point for base point
Definition redundant_base_point_insertion_strategy.h:94
predicate matching a permutation if it stabilizes a given list of points pointwise
Definition pointwise_stabilizer_predicate.h:42
strategy for redundant base point insertion
Definition redundant_base_point_insertion_strategy.h:43
virtual int findInsertionPoint(dom_int beta, std::list< typename PERM::ptr > &S_i) const =0
finds possible insertion point for base point
RedundantBasePointInsertionStrategy(const BSGS< PERM, TRANS > &bsgs)
constructor
Definition redundant_base_point_insertion_strategy.h:49
const BSGS< PERM, TRANS > & m_bsgs
BSGS to work on.
Definition redundant_base_point_insertion_strategy.h:63
predicate matching points that are stabilized by given permutations
Definition stabilizes_point_predicate.h:42
insertion position after first non-trivial transversal
Definition redundant_base_point_insertion_strategy.h:68
TrivialRedundantBasePointInsertionStrategy(const BSGS< PERM, TRANS > &bsgs)
constructor
Definition redundant_base_point_insertion_strategy.h:71
virtual int findInsertionPoint(dom_int beta, std::list< typename PERM::ptr > &S_i) const
finds possible insertion point for base point
Definition redundant_base_point_insertion_strategy.h:73
OutputIterator copy_if(InputIterator begin, InputIterator end, OutputIterator destBegin, Predicate p)
copies elements of (begin to end) to destBegin if they match the given predicate
Definition common.h:49
Represents a base and strong generating set (BSGS)
Definition redundant_base_point_insertion_strategy.h:39