mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 21:38:44 +00:00
optimize binary output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
5b57c6b780
commit
0aafa8b7ce
|
@ -120,22 +120,27 @@ namespace sat {
|
||||||
case status::deleted: ch = 'd'; break;
|
case status::deleted: ch = 'd'; break;
|
||||||
default: UNREACHABLE(); break;
|
default: UNREACHABLE(); break;
|
||||||
}
|
}
|
||||||
(*m_bout) << ch;
|
char buffer[10000];
|
||||||
|
int len = 0;
|
||||||
|
buffer[len++] = ch;
|
||||||
|
|
||||||
for (unsigned i = 0; i < n; ++i) {
|
for (unsigned i = 0; i < n; ++i) {
|
||||||
literal lit = c[i];
|
literal lit = c[i];
|
||||||
unsigned v = 2 * lit.var() + (lit.sign() ? 1 : 0);
|
unsigned v = 2 * lit.var() + (lit.sign() ? 1 : 0);
|
||||||
do {
|
do {
|
||||||
ch = static_cast<unsigned char>(v & ((1 << 7) - 1));
|
ch = static_cast<unsigned char>(v & 255);
|
||||||
v >>= 7;
|
v >>= 7;
|
||||||
if (v) ch |= (1 << 7);
|
if (v) ch |= 128;
|
||||||
//std::cout << std::hex << ((unsigned char)ch) << std::dec << " ";
|
buffer[len++] = ch;
|
||||||
(*m_bout) << ch;
|
if (len == sizeof(buffer)) {
|
||||||
|
m_bout->write(buffer, len);
|
||||||
|
len = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (v);
|
while (v);
|
||||||
}
|
}
|
||||||
ch = 0;
|
buffer[len++] = 0;
|
||||||
(*m_bout) << ch;
|
m_bout->write(buffer, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool drat::is_cleaned(clause& c) const {
|
bool drat::is_cleaned(clause& c) const {
|
||||||
|
|
|
@ -1222,7 +1222,6 @@ namespace sat {
|
||||||
RI literals.
|
RI literals.
|
||||||
*/
|
*/
|
||||||
void minimize_covered_clause(unsigned idx) {
|
void minimize_covered_clause(unsigned idx) {
|
||||||
literal _blocked = m_covered_clause[idx];
|
|
||||||
for (literal l : m_tautology) VERIFY(s.is_marked(l));
|
for (literal l : m_tautology) VERIFY(s.is_marked(l));
|
||||||
for (literal l : m_covered_clause) s.unmark_visited(l);
|
for (literal l : m_covered_clause) s.unmark_visited(l);
|
||||||
for (literal l : m_tautology) s.mark_visited(l);
|
for (literal l : m_tautology) s.mark_visited(l);
|
||||||
|
|
Loading…
Reference in a new issue