12 namespace arithmetic {
14 template<
typename RANT>
18 std::map<RANT, std::size_t>
mMap;
21 void add(
const std::vector<RANT>& list) {
28 for (std::size_t i = 0; i <
mRoots.size(); i++) {
32 for (std::size_t n = 0; n <
mRoots.size(); n++) {
33 if (n == 0)
mSamples.emplace_back(carl::sample_below(
mRoots.front()));
45 auto it =
mMap.find(ran);
46 assert(it !=
mMap.end());
60 template<
typename RANT>
62 os <<
"Roots:" << std::endl;
63 for (std::size_t i = 0; i < ri.
size(); i++) {
64 os <<
"\t" << i <<
": " << ri[i] << std::endl;
66 os <<
"Samples:" << std::endl;
67 for (std::size_t i = 0; i < ri.
size()*2+1; i++) {
68 os <<
"\t" << i <<
": " << ri.
sampleFrom(i) << std::endl;;
std::vector< RANT > mSamples
std::map< RANT, std::size_t > mMap
void add(const std::vector< RANT > &list)
bool is_root(std::size_t n) const
const RANT & operator[](std::size_t n) const
std::vector< RANT > mRoots
const RANT & sampleFrom(std::size_t n) const
std::size_t operator[](const RANT &ran) const
void sort(T *array, int size, LessThan lt)
std::ostream & operator<<(std::ostream &os, const Covering &ri)
Class to create the formulas for axioms.
#define SMTRAT_LOG_DEBUG(channel, msg)