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


The root of a function.

The traits class for this concept.


Kinetic::RootStack re;
default constructor.

Kinetic::RootStack re ( 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).


void re.pop () Advance to the next root. As a precondition, empty() must be false.

Root () 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).

bool re.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.

See Also

Kinetic::FunctionKernel, Kinetic::Certificate.