3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

Merge remote-tracking branch 'origin/master' into polysat

This commit is contained in:
Jakob Rath 2023-02-06 10:50:05 +01:00
commit 8774952aeb
40 changed files with 708 additions and 189 deletions

View file

@ -30,7 +30,7 @@ enum tbit {
BIT_z = 0x0, // unknown
BIT_0 = 0x1, // for sure 0
BIT_1 = 0x2, // for sure 1
BIT_x = 0x3 // don't care
BIT_x = 0x3 // don't care
};
inline tbit neg(tbit t) {
@ -43,7 +43,7 @@ class tbv_manager {
ptr_vector<tbv> allocated_tbvs;
public:
tbv_manager(unsigned n): m(2*n) {}
tbv_manager(const tbv_manager& m) = delete;
tbv_manager(tbv_manager const& m) = delete;
~tbv_manager();
void reset();
tbv* allocate();
@ -154,11 +154,9 @@ public:
};
inline std::ostream& operator<<(std::ostream& out, tbv_ref const& c) {
const char* names[] = { "z", "0", "1", "x" };
for (unsigned i = c.num_tbits(); i > 0; i--) {
out << names[(unsigned)c[i - 1]];
char const* names[] = { "z", "0", "1", "x" };
for (unsigned i = c.num_tbits(); i-- > 0; ) {
out << names[static_cast<unsigned>(c[i])];
}
return out;
}

View file

@ -413,22 +413,6 @@ inline size_t megabytes_to_bytes(unsigned mb) {
return r;
}
/** Compact version of std::all_of */
template <typename Container, typename Predicate>
bool all_of(Container const& c, Predicate p)
{
using std::begin, std::end; // allows begin(c) to also find c.begin()
return std::all_of(begin(c), end(c), std::forward<Predicate>(p));
}
/** Compact version of std::any_of */
template <typename Container, typename Predicate>
bool any_of(Container const& c, Predicate p)
{
using std::begin, std::end; // allows begin(c) to also find c.begin()
return std::any_of(begin(c), end(c), std::forward<Predicate>(p));
}
/** Compact version of std::count */
template <typename Container, typename Item>
std::size_t count(Container const& c, Item x)