33 #ifndef SETSTABILIZEREFINEMENT_H_
34 #define SETSTABILIZEREFINEMENT_H_
36 #include <permlib/predicate/pointwise_stabilizer_predicate.h>
38 #include <permlib/search/partition/partition.h>
39 #include <permlib/search/partition/refinement.h>
42 #include <boost/dynamic_bitset.hpp>
43 #include <boost/foreach.hpp>
53 template<
class InputIterator>
60 std::vector<unsigned long> toStab;
64 template<
class InputIterator>
66 :
Refinement<PERM>(n, Default), toStab(begin, end)
68 std::sort(toStab.begin(), toStab.end());
69 PERMLIB_DEBUG(print_iterable(toStab.begin(), toStab.end(), 0,
"to stab");)
74 BOOST_ASSERT( this->initialized() );
77 PERMLIB_DEBUG(std::cout <<
"apply set stab " << cell << std::endl;)
78 if (pi.
intersect(toStab.begin(), toStab.end(), cell))
86 for (
unsigned int c = 0; c < pi.
cells(); ++c) {
87 if (pi.
intersect(toStab.begin(), toStab.end(), c))
101 #endif // -- SETSTABILIZEREFINEMENT_H_