Node for negation normalform (NNF) More...
#include <minimodel.hh>
Public Member Functions | |
void | post (Home home, NodeType t, SetVarArgs &b, int &i) const |
Post propagators for nested conjunctive and disjunctive expression. | |
void | post (Home home, SetRelType srt, SetVar s) const |
Post propagators for expression. | |
void | post (Home home, SetRelType srt, SetVar s, BoolVar b) const |
Post propagators for reified expression. | |
void | post (Home home, SetRelType srt, const NNF *n) const |
Post propagators for relation. | |
void | post (Home home, BoolVar b, bool t, SetRelType srt, const NNF *n) const |
Post reified propagators for relation (or negated relation if t is false) | |
Static Public Member Functions | |
static NNF * | nnf (Region &r, Node *n, bool neg) |
Create negation normalform. | |
static void * | operator new (size_t s, Region &r) |
Allocate memory from region. | |
static void | operator delete (void *) |
No-op (for exceptions) | |
static void | operator delete (void *, Region &) |
No-op. | |
Public Attributes | |
NodeType | t |
Type of node. | |
int | p |
Number of positive literals for node type. | |
int | n |
Number of negative literals for node type. | |
union { | |
struct { | |
NNF * l | |
Left subtree. | |
NNF * r | |
Right subtree. | |
} b | |
struct { | |
Node * x | |
Pointer to corresponding Boolean expression node. | |
} a | |
} | u |
bool | neg |
Is formula negative. |
Node for negation normalform (NNF)
Definition at line 757 of file minimodel.hh.
SetExpr::NNF * Gecode::SetExpr::NNF::nnf | ( | Region & | r, |
Node * | n, | ||
bool | neg | ||
) | [static] |
Create negation normalform.
Definition at line 475 of file set-expr.cpp.
void Gecode::SetExpr::NNF::post | ( | Home | home, |
NodeType | t, | ||
SetVarArgs & | b, | ||
int & | i | ||
) | const |
Post propagators for nested conjunctive and disjunctive expression.
Definition at line 394 of file set-expr.cpp.
void Gecode::SetExpr::NNF::post | ( | Home | home, |
SetRelType | srt, | ||
SetVar | s | ||
) | const |
Post propagators for expression.
Definition at line 147 of file set-expr.cpp.
void Gecode::SetExpr::NNF::post | ( | Home | home, |
SetRelType | srt, | ||
SetVar | s, | ||
BoolVar | b | ||
) | const |
Post propagators for reified expression.
Definition at line 292 of file set-expr.cpp.
void Gecode::SetExpr::NNF::post | ( | Home | home, |
SetRelType | srt, | ||
const NNF * | n | ||
) | const |
Post propagators for relation.
Definition at line 424 of file set-expr.cpp.
void Gecode::SetExpr::NNF::post | ( | Home | home, |
BoolVar | b, | ||
bool | t, | ||
SetRelType | srt, | ||
const NNF * | n | ||
) | const |
Post reified propagators for relation (or negated relation if t is false)
Definition at line 444 of file set-expr.cpp.
void * Gecode::SetExpr::NNF::operator new | ( | size_t | s, |
Region & | r | ||
) | [inline, static] |
Allocate memory from region.
Definition at line 142 of file set-expr.cpp.
void Gecode::SetExpr::NNF::operator delete | ( | void * | ) | [inline, static] |
No-op (for exceptions)
Definition at line 136 of file set-expr.cpp.
void Gecode::SetExpr::NNF::operator delete | ( | void * | , |
Region & | |||
) | [inline, static] |
No-op.
Definition at line 139 of file set-expr.cpp.
Type of node.
Definition at line 760 of file minimodel.hh.
Number of positive literals for node type.
Definition at line 762 of file minimodel.hh.
Number of negative literals for node type.
Definition at line 764 of file minimodel.hh.
Left subtree.
Definition at line 770 of file minimodel.hh.
Right subtree.
Definition at line 772 of file minimodel.hh.
struct { ... } Gecode::SetExpr::NNF::b |
Pointer to corresponding Boolean expression node.
Definition at line 777 of file minimodel.hh.
struct { ... } Gecode::SetExpr::NNF::a |
union { ... } Gecode::SetExpr::NNF::u |
Is formula negative.
Definition at line 781 of file minimodel.hh.