-
Notifications
You must be signed in to change notification settings - Fork 0
/
ADNF.h~
44 lines (31 loc) · 1.01 KB
/
ADNF.h~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "ASet.h"
//#define LOG_ALL
#ifdef LOG_ALL
#define LOG_LINKEDLIST
#define LOG_STACK
#define LOG_CROSSBAR
#endif
typedef struct AAndClause
{
//Linked List Stuff
struct AAndClause *prev;
struct AAndClause *next;
//The set itself
ASet set;
} AAndClause;
typedef AAndClause * ADNFClause;
//THE CROSSBAR
// AND CLAUSES IN A LINKED LIST
AAndClause * RemoveClause(AAndClause *a); //Returns the pointer to the PREVIOUS record
void InitAndClauseLinkedList(ADNFClause *);
AAndClause * AddClause(ADNFClause dnf, ASet clause); //returns address if it is really added, it is assumed that w->formulaHead= head
void PrintDNFClause(ADNFClause dnf);
void AddDontCare(ADNFClause dst, ADNFClause src);
void ClearDNFClause(ADNFClause dnf);
//ASSEMBLY LIKE INSTRUCIONS FOR DNF
void CPYTO(ADNFClause dst, ADNFClause src); //Both are considered HEADS
ADNFClause CPY(ADNFClause src);
void AND( ADNFClause dst, ADNFClause src);
void OR ( ADNFClause dst, ADNFClause src);
void NOT( ADNFClause dst);
void freeDNFClause(ADNFClause dnf);