Generated on Thu Mar 22 10:39:54 2012 for Gecode by doxygen 1.6.3

# Gecode::SetExpr::NNF Class Reference

Node for negation normalform (NNF) More...

`#include <minimodel.hh>`

List of all members.

## 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 NNFnnf (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
For binary nodes (and, or, eqv).
struct {
Node *   x
Pointer to corresponding Boolean expression node.
}   a
For atomic nodes.
u
Union depending on nodetype t.
bool neg
Is formula negative.

## Detailed Description

Node for negation normalform (NNF)

Definition at line 757 of file minimodel.hh.

## Member Function Documentation

 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.

## Member Data Documentation

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

For binary nodes (and, or, eqv).

Pointer to corresponding Boolean expression node.

Definition at line 777 of file minimodel.hh.

 struct { ... } Gecode::SetExpr::NNF::a

For atomic nodes.

 union { ... } Gecode::SetExpr::NNF::u

Union depending on nodetype t.

Is formula negative.

Definition at line 781 of file minimodel.hh.

The documentation for this class was generated from the following files: