\( \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.8 - Kinetic Framework

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
Kinetic::RootStack Concept Reference
Other Concepts

## 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).