37namespace Gecode {
namespace Int {
namespace LDSB {
41 VariableSymmetryImp<IntView>
44 if (indices.valid(
l._variable) && indices.get(
l._variable)) {
51 lits[j++] =
Literal(i.val(),
l._value);
63 if (indices.valid(
l._variable) && indices.get(
l._variable)) {
70 lits[j++] =
Literal(i.val(),
l._value);
90 lits[j++] =
Literal(
l._variable, i.val());
109 lits[j++] =
Literal(
l._variable, i.val());
124 std::pair<int,int> location =
findVar(
values, n_values, seq_size,
l._value);
126 unsigned int seqNum = location.first;
127 unsigned int seqPos = location.second;
128 if (! dead_sequences.get(seqNum)) {
129 for (
unsigned int seq = 0 ; seq < n_seqs ; seq++) {
130 if (seq == seqNum)
continue;
131 if (dead_sequences.get(seq))
continue;
145 std::pair<int,int> location =
findVar(
values, n_values, seq_size,
l._value);
147 unsigned int seqNum = location.first;
148 unsigned int seqPos = location.second;
149 if (! dead_sequences.get(seqNum)) {
150 for (
unsigned int seq = 0 ; seq < n_seqs ; seq++) {
151 if (seq == seqNum)
continue;
152 if (dead_sequences.get(seq))
continue;
int n
Number of negative literals for node type.
Argument array for non-primitive types.
A Literal is a pair of variable index and value.
Implementation of a value sequence symmetry.
Implementation of a value symmetry.
Implementation of a variable symmetry.
Value iterator for values in an offset bitset.
Bitsets with index offset.
Stack with arbitrary number of elements.
void push(const T &x)
Push element x on top of stack.
std::pair< int, int > findVar(int *indices, unsigned int n_values, unsigned int seq_size, int index)
Find the location of an integer in a collection of sequences.
ArgArray< T > dynamicStackToArgArray(const Support::DynamicStack< T, A > &s)
Convert a DynamicStack<T,A> into an ArgArray<T>
Gecode toplevel namespace
void values(Home home, const IntVarArgs &x, IntSet y, IntPropLevel ipl=IPL_DEF)
Post constraint .
Post propagator for SetVar x