7 for (
const auto& p : ordering.
polys()) {
8 level = std::max(level, p.base_level);
15 for (
const auto& p :
function.polys()) {
16 level = std::max(level, p.base_level);
26 std::vector<datastructures::IndexedRootOrdering> data_by_level;
27 data_by_level.resize(
get_level(ordering));
28 for (
const auto& e : ordering.
data()) {
30 assert(lvl <= data_by_level.size());
33 data_by_level[lvl-1].add_less(e.first, e.second);
35 data_by_level[lvl-1].add_leq(e.first, e.second);
39 for (std::size_t i = 0; i < data_by_level.size(); i++) {
40 if (!data_by_level[i].data().empty()) {
Describes an ordering of IndexedRoots.
std::optional< SymbolicInterval > biggest_cell_wrt
const auto & data() const
void polys(boost::container::flat_set< PolyRef > &result) const
Contains all properties that are stored in a derivation.
void insert_root_ordering_holds(P &deriv, const datastructures::IndexedRootOrdering &ordering)
auto get_level(const datastructures::IndexedRootOrdering &ordering)
bool contains_root_ordering_holds(P &deriv, const datastructures::IndexedRootOrdering &ordering)