ibex::HC4Revise Class Reference
[Contractors]

HC4Revise. More...

#include <IbexHC4Revise.h>

Inheritance diagram for ibex::HC4Revise:

ibex::Contractor ibex::Operator

List of all members.

Public Member Functions

 HC4Revise (const Constraint &ctr, bool only_multiple_occ=false)
 HC4Revise (const Constraint &ctr, Space &space)
 HC4Revise (const HC4Revise &equ)
virtual HC4Revisecopy () const
virtual void contract ()
virtual bool involves (int ent) const

Public Attributes

const Constraintctr


Detailed Description

HC4Revise.

Forward-backward Contractor for constraints.

See [Ben99] for a description of this algorithm

Space complexity (constructor) : O(1).

Author:
Gilles Chabert
Date:
October 2007

Constructor & Destructor Documentation

ibex::HC4Revise::HC4Revise ( const Constraint ctr,
bool  only_multiple_occ = false 
)

Create a HC4Revise contractor with its own space.

Parameters:
ctr - the constraint
only_multiple_occ - if true, only the symbols with multiple occurrences will be considered as variables (the others being symbolic constants). If false, all the symbols become variables (default value is false).

ibex::HC4Revise::HC4Revise ( const Constraint ctr,
Space space 
)

Create a HC4Revise contractor on a given space.

Parameters:
ctr - the constraint
space - the space (passed by reference).

ibex::HC4Revise::HC4Revise ( const HC4Revise equ  ) 

Duplicate this instance (except the space, passed by reference).


Member Function Documentation

virtual HC4Revise* ibex::HC4Revise::copy (  )  const [inline, virtual]

Implement the contractor abstract copy (space is passed by reference).

Implements ibex::Contractor.

void ibex::HC4Revise::contract (  )  [virtual]

Compute the projection (HC4Revise or forward-backward) of the equation on all the variables and update the domains of each variable with the result of the corresponding projection.

If the impact indicator is set to NO_VAR, nothing happens and the function returns false.

See also:
Contractor::current_indic().

Implements ibex::Contractor.

virtual bool ibex::HC4Revise::involves ( int  ent  )  const [inline, virtual]

Return true if the entity ent is involved in the expression of this equation.

Reimplemented from ibex::Contractor.


Member Data Documentation

The constraint.


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

Generated on Sun Jun 27 15:52:00 2010 for IBEX by  doxygen 1.5.5