SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
smtrat::cadcells::datastructures::IndexedRootOrdering Class Reference

Describes an ordering of IndexedRoots. More...

#include <roots.h>

Collaboration diagram for smtrat::cadcells::datastructures::IndexedRootOrdering:

Public Member Functions

void add_leq (RootFunction first, RootFunction second)
 
void add_less (RootFunction first, RootFunction second)
 
void add_eq (RootFunction first, RootFunction second)
 
const auto & data () const
 
const auto & leq () const
 
const auto & geq () const
 
bool holds_transitive (RootFunction first, RootFunction second, bool strict) const
 
std::optional< RootFunctionholds_transitive (RootFunction first, PolyRef poly, bool strict) const
 
std::optional< RootFunctionholds_transitive (PolyRef poly, RootFunction second, bool strict) const
 
void polys (boost::container::flat_set< PolyRef > &result) const
 
boost::container::flat_set< PolyRefpolys () const
 
const boost::container::flat_set< PolyRef > & polys (const PolyRef p) const
 
bool has_pair (const PolyRef p1, const PolyRef p2) const
 
void set_projective ()
 
bool is_projective () const
 

Data Fields

std::optional< SymbolicIntervalbiggest_cell_wrt
 

Private Member Functions

void add_poly_pair (PolyRef p1, PolyRef p2)
 

Private Attributes

boost::container::flat_map< RootFunction, boost::container::flat_set< RootFunction > > m_leq
 
boost::container::flat_map< RootFunction, boost::container::flat_set< RootFunction > > m_geq
 
boost::container::flat_map< RootFunction, boost::container::flat_set< RootFunction > > m_less
 
boost::container::flat_map< RootFunction, boost::container::flat_set< RootFunction > > m_greater
 
std::vector< IndexedRootRelationm_data
 
boost::container::flat_map< datastructures::PolyRef, boost::container::flat_set< datastructures::PolyRef > > m_poly_pairs
 
bool m_is_projective = false
 

Detailed Description

Describes an ordering of IndexedRoots.

Definition at line 400 of file roots.h.

Member Function Documentation

◆ add_eq()

void smtrat::cadcells::datastructures::IndexedRootOrdering::add_eq ( RootFunction  first,
RootFunction  second 
)
inline

Definition at line 449 of file roots.h.

Here is the caller graph for this function:

◆ add_leq()

void smtrat::cadcells::datastructures::IndexedRootOrdering::add_leq ( RootFunction  first,
RootFunction  second 
)
inline

Definition at line 420 of file roots.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_less()

void smtrat::cadcells::datastructures::IndexedRootOrdering::add_less ( RootFunction  first,
RootFunction  second 
)
inline

Definition at line 435 of file roots.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_poly_pair()

void smtrat::cadcells::datastructures::IndexedRootOrdering::add_poly_pair ( PolyRef  p1,
PolyRef  p2 
)
inlineprivate

Definition at line 412 of file roots.h.

◆ data()

const auto& smtrat::cadcells::datastructures::IndexedRootOrdering::data ( ) const
inline

Definition at line 456 of file roots.h.

Here is the caller graph for this function:

◆ geq()

const auto& smtrat::cadcells::datastructures::IndexedRootOrdering::geq ( ) const
inline

Definition at line 464 of file roots.h.

◆ has_pair()

bool smtrat::cadcells::datastructures::IndexedRootOrdering::has_pair ( const PolyRef  p1,
const PolyRef  p2 
) const
inline

Definition at line 578 of file roots.h.

Here is the caller graph for this function:

◆ holds_transitive() [1/3]

std::optional<RootFunction> smtrat::cadcells::datastructures::IndexedRootOrdering::holds_transitive ( PolyRef  poly,
RootFunction  second,
bool  strict 
) const
inline

Definition at line 529 of file roots.h.

Here is the call graph for this function:

◆ holds_transitive() [2/3]

std::optional<RootFunction> smtrat::cadcells::datastructures::IndexedRootOrdering::holds_transitive ( RootFunction  first,
PolyRef  poly,
bool  strict 
) const
inline

Definition at line 497 of file roots.h.

Here is the call graph for this function:

◆ holds_transitive() [3/3]

bool smtrat::cadcells::datastructures::IndexedRootOrdering::holds_transitive ( RootFunction  first,
RootFunction  second,
bool  strict 
) const
inline

Definition at line 468 of file roots.h.

Here is the caller graph for this function:

◆ is_projective()

bool smtrat::cadcells::datastructures::IndexedRootOrdering::is_projective ( ) const
inline

Definition at line 588 of file roots.h.

Here is the caller graph for this function:

◆ leq()

const auto& smtrat::cadcells::datastructures::IndexedRootOrdering::leq ( ) const
inline

Definition at line 460 of file roots.h.

◆ polys() [1/3]

boost::container::flat_set<PolyRef> smtrat::cadcells::datastructures::IndexedRootOrdering::polys ( ) const
inline

Definition at line 568 of file roots.h.

◆ polys() [2/3]

void smtrat::cadcells::datastructures::IndexedRootOrdering::polys ( boost::container::flat_set< PolyRef > &  result) const
inline

Definition at line 561 of file roots.h.

Here is the caller graph for this function:

◆ polys() [3/3]

const boost::container::flat_set<PolyRef>& smtrat::cadcells::datastructures::IndexedRootOrdering::polys ( const PolyRef  p) const
inline

Definition at line 574 of file roots.h.

◆ set_projective()

void smtrat::cadcells::datastructures::IndexedRootOrdering::set_projective ( )
inline

Definition at line 584 of file roots.h.

Here is the caller graph for this function:

Field Documentation

◆ biggest_cell_wrt

std::optional<SymbolicInterval> smtrat::cadcells::datastructures::IndexedRootOrdering::biggest_cell_wrt

Definition at line 418 of file roots.h.

◆ m_data

std::vector<IndexedRootRelation> smtrat::cadcells::datastructures::IndexedRootOrdering::m_data
private

Definition at line 406 of file roots.h.

◆ m_geq

boost::container::flat_map<RootFunction, boost::container::flat_set<RootFunction> > smtrat::cadcells::datastructures::IndexedRootOrdering::m_geq
private

Definition at line 402 of file roots.h.

◆ m_greater

boost::container::flat_map<RootFunction, boost::container::flat_set<RootFunction> > smtrat::cadcells::datastructures::IndexedRootOrdering::m_greater
private

Definition at line 404 of file roots.h.

◆ m_is_projective

bool smtrat::cadcells::datastructures::IndexedRootOrdering::m_is_projective = false
private

Definition at line 410 of file roots.h.

◆ m_leq

boost::container::flat_map<RootFunction, boost::container::flat_set<RootFunction> > smtrat::cadcells::datastructures::IndexedRootOrdering::m_leq
private

Definition at line 401 of file roots.h.

◆ m_less

boost::container::flat_map<RootFunction, boost::container::flat_set<RootFunction> > smtrat::cadcells::datastructures::IndexedRootOrdering::m_less
private

Definition at line 403 of file roots.h.

◆ m_poly_pairs

boost::container::flat_map<datastructures::PolyRef, boost::container::flat_set<datastructures::PolyRef> > smtrat::cadcells::datastructures::IndexedRootOrdering::m_poly_pairs
private

Definition at line 408 of file roots.h.


The documentation for this class was generated from the following file: