33#ifndef SETWISESTABILIZERPREDICATE_H_
34#define SETWISESTABILIZERPREDICATE_H_
36#include <permlib/predicate/subgroup_predicate.h>
38#include <boost/foreach.hpp>
51 template<
class InputIterator>
56 virtual unsigned int limit()
const;
59 std::vector<unsigned long> m_delta;
67template <
class InputIterator>
74 BOOST_FOREACH(
unsigned long delta_i, m_delta) {
75 if (std::find(m_delta.begin(), m_delta.end(), p / delta_i) == m_delta.end())
83 if (std::find(m_delta.begin(), m_delta.end(), h / beta_i) == m_delta.end())
90 return m_delta.size();
virtual bool operator()(const PERM &p) const
true iff group element fulfills predicate
Definition setwise_stabilizer_predicate.h:73
SetwiseStabilizerPredicate(InputIterator begin, InputIterator end)
constructor
Definition setwise_stabilizer_predicate.h:68
virtual bool childRestriction(const PERM &h, unsigned int i, unsigned long beta_i) const
checks if a given group element should not be followed in backtrack search
Definition setwise_stabilizer_predicate.h:82
virtual unsigned int limit() const
limit of recursion depth in backtrack search
Definition setwise_stabilizer_predicate.h:89
abstract base class for subgroup (and coset) predicates
Definition subgroup_predicate.h:45