#include <IntervalPropagation.h>
Definition at line 20 of file IntervalPropagation.h.
◆ IntervalPropagation()
smtrat::mcsat::icp::IntervalPropagation::IntervalPropagation |
( |
const std::vector< carl::Variable > & |
vars, |
|
|
const std::vector< FormulaT > & |
constraints, |
|
|
const Model & |
model |
|
) |
| |
|
inline |
◆ construct_direct_conflict()
auto smtrat::mcsat::icp::IntervalPropagation::construct_direct_conflict |
( |
carl::Variable |
v | ) |
const |
|
inlineprivate |
◆ construct_interval_conflict()
auto smtrat::mcsat::icp::IntervalPropagation::construct_interval_conflict |
( |
carl::Variable |
v, |
|
|
const FormulaT & |
excluded |
|
) |
| const |
|
inlineprivate |
◆ execute()
std::optional<FormulaT> smtrat::mcsat::icp::IntervalPropagation::execute |
( |
| ) |
|
|
inline |
◆ find_excluded_interval()
std::optional<FormulaT> smtrat::mcsat::icp::IntervalPropagation::find_excluded_interval |
( |
carl::Variable |
v, |
|
|
const std::vector< carl::Interval< double >> & |
admissible |
|
) |
| const |
|
inlineprivate |
◆ has_contractor_above_threshold()
bool smtrat::mcsat::icp::IntervalPropagation::has_contractor_above_threshold |
( |
| ) |
const |
|
inlineprivate |
◆ has_interval_below_threshold()
bool smtrat::mcsat::icp::IntervalPropagation::has_interval_below_threshold |
( |
| ) |
const |
|
inlineprivate |
◆ sample_small_rational()
Rational smtrat::mcsat::icp::IntervalPropagation::sample_small_rational |
( |
const Rational & |
lower, |
|
|
const Rational & |
upper, |
|
|
int |
side |
|
) |
| const |
|
inlineprivate |
Samples a rational with a small representation size.
If side < 0: from (|side+1|*lower + upper)/|side| If side > 0: from (lower + |side-1|*upper)/|side|
Definition at line 49 of file IntervalPropagation.h.
◆ update_model()
std::pair<bool,double> smtrat::mcsat::icp::IntervalPropagation::update_model |
( |
carl::Variable |
v, |
|
|
const std::vector< carl::Interval< double >> & |
intervals |
|
) |
| |
|
inlineprivate |
◆ validate_box()
void smtrat::mcsat::icp::IntervalPropagation::validate_box |
( |
| ) |
const |
|
inlineprivate |
◆ mBox
std::map<carl::Variable, carl::Interval<double> > smtrat::mcsat::icp::IntervalPropagation::mBox |
|
private |
◆ mContractors
std::vector<QueueEntry> smtrat::mcsat::icp::IntervalPropagation::mContractors |
|
private |
◆ mDependencies
Dependencies smtrat::mcsat::icp::IntervalPropagation::mDependencies |
|
private |
◆ mModel
const Model& smtrat::mcsat::icp::IntervalPropagation::mModel |
|
private |
◆ threshold_priority
constexpr double smtrat::mcsat::icp::IntervalPropagation::threshold_priority = 0.1 |
|
staticconstexprprivate |
◆ threshold_width
constexpr double smtrat::mcsat::icp::IntervalPropagation::threshold_width = 0.1 |
|
staticconstexprprivate |
◆ weight_age
constexpr double smtrat::mcsat::icp::IntervalPropagation::weight_age = 0.5 |
|
staticconstexprprivate |
The documentation for this class was generated from the following file: