ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
inlineframes.h
Go to the documentation of this file.
1#ifndef _inlineframes_h_INCLUDEDd
2#define _inlineframes_h_INCLUDEDd
3
4#include "allocate.h"
5#include "internal.h"
6
7#include "global.h"
9
10static inline void kissat_push_frame (kissat *solver, unsigned decision) {
11 KISSAT_assert (!solver->level || decision != UINT_MAX);
12 const size_t trail = SIZE_ARRAY (solver->trail);
14 frame.decision = decision;
15 frame.promote = false;
16 frame.trail = trail;
17 frame.used = 0;
18 PUSH_STACK (solver->frames, frame);
19}
20
22
23#endif
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
#define SIZE_ARRAY
Definition array.h:24
#define PUSH_STACK(S, E)
Definition stack.h:39
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211
Definition frames.h:15
unsigned trail
Definition frames.h:18
unsigned decision
Definition frames.h:17
bool promote
Definition frames.h:16
unsigned used
Definition frames.h:19