SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
#include <RNSEncoder.h>
Public Member Functions | |
RNSEncoder () | |
bool | canEncode (const ConstraintT &constraint) |
std::optional< FormulaT > | encode (const ConstraintT &constraint) |
Encodes an arbitrary constraint. More... | |
virtual Rational | encodingSize (const ConstraintT &constraint) |
virtual std::string | name () |
Data Fields | |
std::size_t | problem_size |
Protected Member Functions | |
std::optional< FormulaT > | doEncode (const ConstraintT &constraint) |
FormulaT | generateVarChain (const std::set< carl::Variable > &vars, carl::FormulaType type) |
Private Member Functions | |
bool | isNonRedundant (const std::vector< Integer > &base, const ConstraintT &formula) |
std::vector< Integer > | integerFactorization (const Integer &coeff) |
std::vector< std::vector< Integer > > | primesTable () |
std::vector< Integer > | calculateRNSBase (const ConstraintT &formula) |
FormulaT | rnsTransformation (const ConstraintT &formula, const Integer &prime) |
ConstraintT | normalizeLessConstraint (const ConstraintT &constraint) |
Private Attributes | |
const std::vector< std::vector< Integer > > | mPrimesTable |
Definition at line 9 of file RNSEncoder.h.
|
inline |
Definition at line 11 of file RNSEncoder.h.
|
private |
Definition at line 94 of file RNSEncoder.cpp.
|
virtual |
Implements smtrat::PseudoBoolEncoder.
Definition at line 230 of file RNSEncoder.cpp.
|
protectedvirtual |
Implements smtrat::PseudoBoolEncoder.
Definition at line 7 of file RNSEncoder.cpp.
|
inherited |
Encodes an arbitrary constraint.
Definition at line 5 of file PseudoBoolEncoder.cpp.
|
virtualinherited |
Reimplemented in smtrat::TotalizerEncoder, smtrat::ShortFormulaEncoder, smtrat::MixedSignEncoder, smtrat::LongFormulaEncoder, smtrat::ExactlyOneCommanderEncoder, and smtrat::CardinalityEncoder.
Definition at line 33 of file PseudoBoolEncoder.cpp.
|
protectedinherited |
Definition at line 38 of file PseudoBoolEncoder.cpp.
|
private |
|
inlinevirtualinherited |
Reimplemented in smtrat::TotalizerEncoder, smtrat::ShortFormulaEncoder, smtrat::MixedSignEncoder, smtrat::LongFormulaEncoder, smtrat::ExactlyOneCommanderEncoder, and smtrat::CardinalityEncoder.
Definition at line 25 of file PseudoBoolEncoder.h.
|
privateinherited |
|
private |
Definition at line 234 of file RNSEncoder.cpp.
|
private |
Definition at line 54 of file RNSEncoder.cpp.
|
private |
Definition at line 19 of file RNSEncoder.h.
|
inherited |
Definition at line 20 of file PseudoBoolEncoder.h.