SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Encapsulates all computations on polynomials. More...
#include <projections.h>
Public Member Functions | |
auto | main_var (PolyRef p) const |
Projections (PolyPool &pool) | |
auto & | polys () |
const auto & | polys () const |
void | clear_cache (size_t) |
Clears all polynomials of the specified level and higher in the polynomial cache as well as their projection results. More... | |
void | clear_assignment_cache (const Assignment &) |
Clears all projections cached with respect to this assignment. More... | |
PolyRef | res (PolyRef p, PolyRef q) |
bool | know_disc (PolyRef p) const |
bool | know_res (PolyRef p, PolyRef q) const |
bool | known (const Polynomial &p) const |
PolyRef | disc (PolyRef p) |
PolyRef | ldcf (PolyRef p) |
const std::vector< PolyRef > & | factors_nonconst (PolyRef p) |
bool | is_zero (const Assignment &sample, PolyRef p) |
size_t | num_roots (const Assignment &sample, PolyRef p) |
const std::vector< RAN > & | real_roots (const Assignment &sample, PolyRef p) |
const std::vector< RAN > | real_roots_reducible (const Assignment &sample, PolyRef p) |
bool | is_nullified (const Assignment &sample, PolyRef p) |
bool | is_ldcf_zero (const Assignment &sample, PolyRef p) |
bool | is_disc_zero (const Assignment &sample, PolyRef p) |
bool | is_const (PolyRef p) |
bool | is_zero (PolyRef p) |
std::vector< PolyRef > | coeffs (PolyRef p) |
bool | has_const_coeff (PolyRef p) const |
PolyRef | simplest_nonzero_coeff (const Assignment &sample, PolyRef p, std::function< bool(const Polynomial &, const Polynomial &)> compare) |
std::vector< carl::Variable > | variables (PolyRef p) |
PolyRef | derivative (PolyRef p, carl::Variable var) |
std::size_t | degree (PolyRef p) const |
std::size_t | total_degree (PolyRef p) |
const std::vector< std::size_t > & | monomial_total_degrees (PolyRef p) |
const std::vector< std::size_t > & | monomial_degrees (PolyRef p) |
RAN | evaluate (const Assignment &sample, IndexedRoot r) |
std::pair< RAN, std::vector< datastructures::IndexedRoot > > | evaluate_min (const Assignment &ass, const std::vector< datastructures::IndexedRoot > &roots) |
std::pair< RAN, std::vector< datastructures::IndexedRoot > > | evaluate_max (const Assignment &ass, const std::vector< datastructures::IndexedRoot > &roots) |
std::pair< RAN, std::vector< datastructures::IndexedRoot > > | evaluate (const Assignment &ass, const datastructures::CompoundMinMax &bound) |
std::pair< RAN, std::vector< datastructures::IndexedRoot > > | evaluate (const Assignment &ass, const datastructures::CompoundMaxMin &bound) |
std::pair< RAN, std::vector< datastructures::IndexedRoot > > | evaluate (const Assignment &ass, const datastructures::RootFunction &f) |
PolyConstraint | negation (const PolyConstraint &constraint) const |
auto | evaluate (const Assignment &ass, const PolyConstraint &constraint) |
Private Member Functions | |
auto & | cache (PolyRef p) |
const auto & | cache (PolyRef p) const |
bool | has_cache (PolyRef p) const |
size_t | level_of (const Assignment &a) const |
auto & | cache (const Assignment &a) |
const auto & | cache (const Assignment &a) const |
Assignment | restrict_assignment (Assignment ass, PolyRef p) |
Assignment | restrict_base_assignment (Assignment ass, PolyRef p) |
Private Attributes | |
PolyPool & | m_pool |
std::vector< std::vector< detail::PolyProperties > > | m_poly_cache |
std::vector< std::map< Assignment, detail::AssignmentProperties > > | m_assignment_cache |
Encapsulates all computations on polynomials.
Computations are cached with respect to a PolyPool.
Definition at line 46 of file projections.h.
|
inline |
Definition at line 124 of file projections.h.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Definition at line 61 of file projections.h.
|
inline |
Clears all projections cached with respect to this assignment.
Definition at line 145 of file projections.h.
|
inline |
Clears all polynomials of the specified level and higher in the polynomial cache as well as their projection results.
Definition at line 132 of file projections.h.
Definition at line 341 of file projections.h.
|
inline |
|
inline |
Definition at line 381 of file projections.h.
Definition at line 204 of file projections.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 429 of file projections.h.
|
inline |
Definition at line 451 of file projections.h.
|
inline |
Definition at line 435 of file projections.h.
|
inline |
Definition at line 238 of file projections.h.
|
inlineprivate |
|
inline |
Definition at line 352 of file projections.h.
|
inline |
Definition at line 333 of file projections.h.
|
inline |
Definition at line 329 of file projections.h.
|
inline |
Definition at line 325 of file projections.h.
|
inline |
Definition at line 309 of file projections.h.
|
inline |
Definition at line 250 of file projections.h.
|
inline |
Definition at line 337 of file projections.h.
|
inline |
Definition at line 192 of file projections.h.
|
inline |
Definition at line 200 of file projections.h.
Definition at line 221 of file projections.h.
|
inlineprivate |
Definition at line 72 of file projections.h.
|
inline |
Definition at line 94 of file projections.h.
|
inline |
Definition at line 422 of file projections.h.
|
inline |
Definition at line 415 of file projections.h.
|
inline |
|
inline |
Definition at line 262 of file projections.h.
|
inline |
|
inline |
Definition at line 127 of file projections.h.
|
inline |
Definition at line 277 of file projections.h.
|
inline |
Definition at line 292 of file projections.h.
Definition at line 165 of file projections.h.
|
inlineprivate |
Definition at line 99 of file projections.h.
|
inlineprivate |
Definition at line 111 of file projections.h.
|
inline |
Definition at line 359 of file projections.h.
|
inline |
Definition at line 407 of file projections.h.
|
inline |
|
private |
Definition at line 49 of file projections.h.
|
private |
Definition at line 48 of file projections.h.
|
private |
Definition at line 47 of file projections.h.