\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.4 - Kinetic Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Kinetic::RootStack Concept Reference

Definition

The concept Kinetic::RootStack enumerates through roots of a function contained in a half open interval [lb \( \dots\) ub).

See Also
CGAL::Kinetic::FunctionKernel
CGAL::Kinetic::Certificate

Types

typedef unspecified_type Root
 The root of a function.
 

Creation

 RootStack ()
 default constructor.
 
 RootStack (Function f, Root lb, Root ub, Traits tr)
 Construct a Kinetic::RootStack over the roots of f in the half open interval [lb to ub).
 

Operations

void pop ()
 Advance to the next root. More...
 
Root top ()
 Return the current root. More...
 
bool empty ()
 Return true if there are known to be no more roots left. More...
 

Member Function Documentation

bool Kinetic::RootStack::empty ( )

Return true if there are known to be no more roots left.

There might not actually be any roots of the polynomial left in the interval, but the work necessary to prove this has been delayed.

void Kinetic::RootStack::pop ( )

Advance to the next root.

As a precondition, empty() must be false.

Root Kinetic::RootStack::top ( )

Return the current root.

As a precondition, empty() must be false. Note that the Root returned might not actually be in the interval (since the solver has not yet proved that there are no more roots).