ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
assign.h
Go to the documentation of this file.
1#ifndef _assign_h_INCLUDED
2#define _assign_h_INCLUDED
3
4#include <stdbool.h>
5
6#include "global.h"
8
9#define DECISION_REASON UINT_MAX
10#define UNIT_REASON (DECISION_REASON - 1)
11
12#define INVALID_LEVEL UINT_MAX
13#define INVALID_TRAIL UINT_MAX
14
15typedef struct assigned assigned;
16struct clause;
17
18struct assigned {
19 unsigned level;
20 unsigned trail;
21
22 bool analyzed : 1;
23 bool binary : 1;
24 bool poisoned : 1;
25 bool removable : 1;
26 bool shrinkable : 1;
27
28 unsigned reason;
29};
30
31#define ASSIGNED(LIT) \
32 (KISSAT_assert (VALID_INTERNAL_LITERAL (LIT)), solver->assigned + IDX (LIT))
33
34#define LEVEL(LIT) (ASSIGNED (LIT)->level)
35#define TRAIL(LIT) (ASSIGNED (LIT)->trail)
36#define REASON(LIT) (ASSIGNED (LIT)->reason)
37
38#ifndef FAST_ASSIGN
39
41
42#include "reference.h"
43
45
46struct kissat;
47struct clause;
48
49void kissat_assign_unit (struct kissat *, unsigned lit, const char *);
50void kissat_learned_unit (struct kissat *, unsigned lit);
51void kissat_original_unit (struct kissat *, unsigned lit);
52
53void kissat_assign_decision (struct kissat *, unsigned lit);
54
55void kissat_assign_binary (struct kissat *, unsigned, unsigned);
56
57void kissat_assign_reference (struct kissat *, unsigned lit, reference,
58 struct clause *);
59
60#endif
61
63
64#endif
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void kissat_assign_unit(struct kissat *, unsigned lit, const char *)
Definition assign.c:10
void kissat_learned_unit(struct kissat *, unsigned lit)
Definition assign.c:18
void kissat_original_unit(struct kissat *, unsigned lit)
Definition assign.c:24
void kissat_assign_decision(struct kissat *, unsigned lit)
Definition assign.c:28
void kissat_assign_binary(struct kissat *, unsigned, unsigned)
Definition assign.c:34
void kissat_assign_reference(struct kissat *, unsigned lit, reference, struct clause *)
Definition assign.c:49
ABC_NAMESPACE_HEADER_START typedef unsigned reference
Definition reference.h:9
int lit
Definition satVec.h:130
bool binary
Definition assign.h:23
bool analyzed
Definition assign.h:22
unsigned trail
Definition assign.h:20
bool removable
Definition assign.h:25
bool poisoned
Definition assign.h:24
unsigned reason
Definition assign.h:28
bool shrinkable
Definition assign.h:26
unsigned level
Definition assign.h:19