1#ifndef _inlinevector_h_INCLUDED
2#define _inlinevector_h_INCLUDED
9static inline unsigned *kissat_begin_vector (
kissat *
solver,
28static inline const unsigned *
38static inline const unsigned *
48#if defined(LOGGING) || defined(TEST_VECTOR)
55 unsigned *begin_vector =
vector->begin;
57 return begin_vector ? begin_vector - begin_stack : 0;
63static inline size_t kissat_size_vector (
const vector *
vector) {
84static inline void kissat_add_usable (
kissat *
solver,
size_t inc) {
86 solver->vectors.usable += inc;
89static inline unsigned *kissat_last_vector_pointer (
kissat *
solver,
114 kissat_inc_usable (
solver);
130 unsigneds *stack = &
solver->vectors.stack;
145 kissat_dec_usable (
solver);
154 *(
vector->begin = stack->end++) = e;
157#if !defined(KISSAT_COMPACT)
167 kissat_dec_usable (
solver);
175 kissat_dec_usable (
solver);
178#ifndef KISSAT_COMPACT
188#define all_vector(E, V) \
189 unsigned E, *E##_PTR = kissat_begin_vector (solver, &V), \
190 *const E##_END = kissat_end_vector (solver, &V); \
191 E##_PTR != E##_END && (E = *E##_PTR, true); \
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
#define KISSAT_assert(ignore)
void kissat_resize_vector(kissat *solver, vector *vector, size_t new_size)
ABC_NAMESPACE_IMPL_START unsigned * kissat_enlarge_vector(kissat *solver, vector *vector)
#define INVALID_VECTOR_ELEMENT
#define kissat_check_vectors(...)