42 namespace Gecode {
namespace Int {
namespace Extensional {
48 template<
unsigned int sz>
53 for (
unsigned int i=0U;
i <
n;
i++)
56 for (
unsigned int i=n;
i < sz;
i++)
60 template<
unsigned int sz>
61 template<
unsigned int largersz>
64 assert(sz <= largersz);
66 for (
unsigned int i = sz;
i--; )
71 template<
unsigned int sz>
72 template<
class IndexType>
75 assert(sz == sbs.
width());
77 for (
unsigned int i = sz;
i--; )
79 for (
unsigned int i = sbs.
words();
i--; ) {
85 template<
unsigned int sz>
88 for (
unsigned int i=sz;
i--; ) {
90 assert(mask[
i].none());
94 template<
unsigned int sz>
97 for (
unsigned int i=sz;
i--; )
101 template<
unsigned int sz>
102 template<
bool sparse>
105 for (
unsigned int i=sz;
i--; )
109 template<
unsigned int sz>
112 for (
unsigned int i=sz;
i--; )
116 template<
unsigned int sz>
119 for (
unsigned int i=sz;
i--; )
123 template<
unsigned int sz>
126 for (
unsigned int i=sz;
i--; )
132 template<
unsigned int sz>
135 for (
unsigned int i=sz;
i--; )
141 template<
unsigned int sz>
146 for (
unsigned int i=sz;
i--; )
153 template<
unsigned int sz>
159 template<
unsigned int sz>
void intersect_with_masks(const BitSetData *a, const BitSetData *b)
Intersect with the "or" of and b.
bool empty(void) const
Check whether the set is empty.
void intersect_with_mask(const BitSetData *mask)
Intersect with mask, sparse mask if sparse is true.
void add_to_mask(const BitSetData *b, BitSetData *mask) const
Add to mask.
BitSetData bits[_size]
Words.
unsigned int width(void) const
Return the highest active index.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
bool empty(void) const
Check whether the set is empty.
void o(BitSetData a)
Perform "or" with a.
unsigned int size(void) const
Return the total number of words.
unsigned int words(void) const
Return the number of required bit set words.
void init(bool setbits=false)
Initialize with all bits set if setbits.
IndexType * index
Indices.
struct Gecode::@585::NNF::@62::@63 b
For binary nodes (and, or, eqv)
void clear_mask(BitSetData *mask)
Clear the first limit words in mask.
void nand_with_mask(const BitSetData *b)
Perform "nand" with b.
unsigned int width(void) const
Return the highest active index.
unsigned int words(void) const
Return the number of required bit set words.
struct Gecode::@585::NNF::@62::@64 a
For atomic nodes.
void a(BitSetData a)
Perform "and" with a.
bool intersects(const BitSetData *b)
Check if has a non-empty intersection with the set.
Gecode toplevel namespace
#define GECODE_NEVER
Assert that this command is never executed.