ibex::RoundRobin Class Reference
[Paver]

Round-robin bisector. More...

#include <IbexBisector.h>

Inheritance diagram for ibex::RoundRobin:

ibex::Bisector ibex::Operator ibex::SmearFunction

List of all members.

Public Member Functions

 RoundRobin (Space &space, REAL w=Bisector::default_prec, REAL ratio=Bisector::default_ratio)
 RoundRobin (const RoundRobin &rr)
virtual RoundRobincopy () const
virtual void accept_printer (const OperatorPrinter &p) const
Bisection bisect ()
Bisection bisect (int last_var) const

Public Attributes

const REAL w


Detailed Description

Round-robin bisector.

Author:
Gilles Chabert
Date:
October 2007

Constructor & Destructor Documentation

ibex::RoundRobin::RoundRobin ( Space space,
REAL  w = Bisector::default_prec,
REAL  ratio = Bisector::default_ratio 
) [inline]

Create a bisector with round-robin heuristic.

Parameters:
space - The space, passed by reference.
w - the minimum width (diameter) an interval must have to be bisected (see w).
ratio (optional) - the ratio between the diameters of the left and the right parts of the bisected interval. Default value is 0.5, i.e. the interval is bisected at the midpoint.

ibex::RoundRobin::RoundRobin ( const RoundRobin rr  )  [inline]

Duplicate this instance (space is passed by reference).


Member Function Documentation

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

Implement the contractor abstract copy.

Implements ibex::Bisector.

Reimplemented in ibex::SmearFunction.

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

Accept the pretty printer.

Reimplemented from ibex::Operator.

Reimplemented in ibex::SmearFunction.

Bisection ibex::RoundRobin::bisect (  )  [inline, virtual]

Bisect the current box. The result is obtained via getBisection().

Implements ibex::Bisector.

Reimplemented in ibex::SmearFunction.

Bisection ibex::RoundRobin::bisect ( int  last_var  )  const

Bisect the box.

Parameters:
last_var - the last component that has been bisected (hence, if the domain of the last_var+1 component is wider than w, it will be bisected) or -1 if this is the first call (in this case, the variable examinated first is the first one). In case all the variables have domain diameter less than w, the first variable (0) will be bisected.

Reimplemented in ibex::SmearFunction.


Member Data Documentation

const REAL ibex::RoundRobin::w

Allow to skip variables whose domain is too small in the round-robin heuristic. This parameter usually matches the ceil paramter of the precision contractor since boxes that are too small are usually both not bisected and considered as precise enough.


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