13 const bool moved = (new_begin != old_begin);
15 const uint64_t bytes = capacity *
sizeof (
ward);
17 "%s to %s %d-byte-words %s (%s)",
mode,
31 const size_t bytes = kissat_bytes_of_clause (size);
33 const size_t needed = bytes /
sizeof (
ward);
38 size_t available = capacity - res;
39 if (needed > available) {
40 const arena before =
solver->arena;
45 "of 2^%u %zu-byte-words %s exhausted"
47 " (consider a configuration without '--compact')"
55 available = capacity - res;
56 }
while (needed > available);
59 report_resized (
solver,
"enlarged", before);
62 solver->arena.end += needed;
63 LOG (
"allocated clause[%zu] of size %zu bytes %s", res, size,
69 const arena before =
solver->arena;
73 const size_t capacity_bytes = capacity *
sizeof (
ward);
75 "capacity of %s %d-byte-words %s",
FORMAT_COUNT (capacity),
77 const size_t size_bytes = size *
sizeof (
ward);
79 "filled %.0f%% with %s %d-byte-words %s",
83 if (size > capacity / 4) {
85 "not shrinking since more than 25%% filled");
91 report_resized (
solver,
"shrunken", before);
94#if !defined(KISSAT_NDEBUG) || defined(LOGGING)
97 if (!kissat_aligned_pointer (c))
99 const char *
p = (
char *) c;
104 const size_t bytes = kissat_bytes_of_clause (c->
size);
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
reference kissat_allocate_clause(kissat *solver, size_t size)
void kissat_shrink_arena(kissat *solver)
ABC_NAMESPACE_HEADER_START typedef word ward
#define CAPACITY_STACK(S)
void kissat_fatal(const char *fmt,...)
#define KISSAT_assert(ignore)
#define kissat_phase(...)
ABC_NAMESPACE_HEADER_START typedef unsigned reference
ABC_NAMESPACE_IMPL_START void kissat_stack_enlarge(struct kissat *solver, chars *s, size_t bytes)