ibex::Slicer Class Reference
[Contractors]

Slicer. More...

#include <IbexShaving.h>

Inheritance diagram for ibex::Slicer:

ibex::Contractor ibex::Operator

List of all members.

Public Member Functions

 Slicer (const Contractor &ctc, int key, int nb_slices, bool logic_op)
 Slicer (const Slicer &)
 ~Slicer ()
virtual void contract ()
virtual Slicercopy () const
virtual void accept_printer (const OperatorPrinter &p) const

Public Attributes

Contractorctc
const int key
const bool quantifier
const int nb_slices


Detailed Description

Slicer.

A simpler variant of ibex::Shaving, where the shaved entity can be an existential or universal parameter.

Author:
Gilles Chabert
Date:
February 2008

Constructor & Destructor Documentation

ibex::Slicer::Slicer ( const Contractor ctc,
int  key,
int  nb_slices,
bool  logic_op 
)

Builds a slicer on the parameter key with either a AND or OR betweeen each slices.

ibex::Slicer::Slicer ( const Slicer s  ) 

Duplicate this instance.

ibex::Slicer::~Slicer (  ) 

Deletes this instance.


Member Function Documentation

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

Contract domain by "splitting the parameter into \a nb_slices slices". More precisely: performs a search including the parameter as a regular variable. The precision of the bisection is the current parameter domain diameter divided by the number of slices (see constructor). The contraction used in the search (at each node) is ctc. If the paramter is existentially quantified, the hull of the precision subpaving is computed, otherwise, the intersection of this subpaving is computed.

Implements ibex::Contractor.

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

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

Implements ibex::Contractor.

virtual void ibex::Slicer::accept_printer ( const OperatorPrinter &  p  )  const [inline, virtual]

Accept the pretty printer.

Reimplemented from ibex::Operator.


Member Data Documentation

The contractor.

const int ibex::Slicer::key

The symbol key of the parameter.

Quantifier (true=universal, false=existential)

The number of slices.


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