Propagator context for .Net More...
Public Member Functions | |||||||
delegate void | FixedEh (Expr term, Expr value) | ||||||
Delegate type for fixed callback Note that the life-time of the term and value only applies within the scope of the callback. That means the term and value cannot be stored in an array, dictionary or similar and accessed after the callback has returned. Use the functionality Dup on expressions to create a duplicate copy that extends the lifetime. More... | |||||||
delegate void | EqEh (Expr term, Expr value) | ||||||
Delegate type for equality or disequality callback More... | |||||||
delegate void | CreatedEh (Expr term) | ||||||
Delegate type for when a new term using a registered function symbol is created internally More... | |||||||
delegate void | DecideEh (ref Expr term, ref uint idx, ref int phase) | ||||||
Delegate type for callback into solver's branching
| |||||||
UserPropagator (Solver s) | |||||||
Propagator constructor from a solver class. More... | |||||||
UserPropagator (Context _ctx) | |||||||
Propagator constructor from a context. It is used from inside of Fresh. More... | |||||||
virtual void | Dispose () | ||||||
Must be called. The object will not be garbage collected automatically even if the context is disposed More... | |||||||
virtual void | Push () | ||||||
Virtual method for push. It must be overwritten by inherited class. More... | |||||||
virtual void | Pop (uint n) | ||||||
Virtual method for pop. It must be overwritten by inherited class. More... | |||||||
virtual UserPropagator | Fresh (Context ctx) | ||||||
Virtual method for fresh. It can be overwritten by inherited class. More... | |||||||
void | Conflict (params Expr[] terms) | ||||||
Declare combination of assigned expressions a conflict More... | |||||||
void | Conflict (IEnumerable< Expr > terms) | ||||||
Declare combination of assigned expressions a conflict More... | |||||||
void | Propagate (IEnumerable< Expr > terms, Expr conseq) | ||||||
Propagate consequence More... | |||||||
void | NextSplit (Expr e, uint idx, int phase) | ||||||
Set the next decision More... | |||||||
void | Register (Expr term) | ||||||
Track assignments to a term More... | |||||||
Properties | |
FixedEh | Fixed [set] |
Set fixed callback More... | |
Action | Final [set] |
Set final callback More... | |
EqEh | Eq [set] |
Set equality event callback More... | |
EqEh | Diseq [set] |
Set disequality event callback More... | |
CreatedEh | Created [set] |
Set created callback More... | |
DecideEh | Decide [set] |
Set decision callback More... | |
|
inline |
Propagator constructor from a solver class.
Definition at line 186 of file UserPropagator.cs.
Referenced by UserPropagator.Fresh().
|
inline |
Propagator constructor from a context. It is used from inside of Fresh.
Definition at line 200 of file UserPropagator.cs.
|
inline |
Declare combination of assigned expressions a conflict
Definition at line 253 of file UserPropagator.cs.
|
inline |
Declare combination of assigned expressions a conflict
Definition at line 245 of file UserPropagator.cs.
delegate void CreatedEh | ( | Expr | term | ) |
Delegate type for when a new term using a registered function symbol is created internally
delegate void DecideEh | ( | ref Expr | term, |
ref uint | idx, | ||
ref int | phase | ||
) |
Delegate type for callback into solver's branching
term | A bit-vector or Boolean used for branching |
idx | If the term is a bit-vector, then an index into the bit-vector being branched on |
phase | Set phase to -1 (false) or 1 (true) to override solver's phase |
|
inlinevirtual |
Must be called. The object will not be garbage collected automatically even if the context is disposed
Definition at line 218 of file UserPropagator.cs.
Delegate type for fixed callback Note that the life-time of the term and value only applies within the scope of the callback. That means the term and value cannot be stored in an array, dictionary or similar and accessed after the callback has returned. Use the functionality Dup on expressions to create a duplicate copy that extends the lifetime.
|
inlinevirtual |
Virtual method for fresh. It can be overwritten by inherited class.
Definition at line 240 of file UserPropagator.cs.
|
inline |
Set the next decision
Definition at line 356 of file UserPropagator.cs.
|
inlinevirtual |
Virtual method for pop. It must be overwritten by inherited class.
Definition at line 235 of file UserPropagator.cs.
Propagate consequence
Definition at line 261 of file UserPropagator.cs.
Referenced by UserPropagator.Conflict().
|
inlinevirtual |
Virtual method for push. It must be overwritten by inherited class.
Definition at line 230 of file UserPropagator.cs.
|
inline |
Track assignments to a term
Definition at line 364 of file UserPropagator.cs.
|
set |
Set created callback
Definition at line 327 of file UserPropagator.cs.
|
set |
Set decision callback
Definition at line 341 of file UserPropagator.cs.
|
set |
Set disequality event callback
Definition at line 313 of file UserPropagator.cs.
|
set |
Set equality event callback
Definition at line 299 of file UserPropagator.cs.
|
set |
Set final callback
Definition at line 285 of file UserPropagator.cs.
|
set |
Set fixed callback
Definition at line 271 of file UserPropagator.cs.