-
Notifications
You must be signed in to change notification settings - Fork 1
/
SATInstance.h
47 lines (33 loc) · 1.24 KB
/
SATInstance.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
45
46
47
#ifndef SATInstance_h
#define SATInstance_h
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// SATInstance
/////////////////
// OS Includes
//////////////
// Includes
#include "ClauseList.h"
/////////////
// Defines
////////////////////////
// Class Declarations
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Class Definitions
class SATInstance : public ClauseList {
public:
SATInstance(ostream& xOutputStream_) : xOutputStream(xOutputStream_) {}
~SATInstance();
void vOutput() const;
void vOutputDimacs(ostream&) const;
boolean bReadDimacs(const char* aFileName_);
boolean bReadDimacs(istream&);
// Primary variable file format: list of (any kind of) whitespace separated variable numbers.
VariableSet* pReadPrimaryVariables(const char* aFileName_);
VariableSet* pReadPrimaryVariables(istream&);
void vMakeRandom_3SAT(int iVars_, int iClauses_);
int iVariableCount;
ostream& xOutputStream;
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inlines
#endif // SATInstance_h