Program Listing for File primitive_types.h¶
↰ Return to documentation for file (src/primitive_types.h
)
#include <vector>
#ifndef PRIMITIVE_TYPES_H_
#define PRIMITIVE_TYPES_H_
#define varsSENTINEL 0
#define clsSENTINEL NOT_A_CLAUSE
#define EXIT_TIMEOUT 128
typedef uint64_t VariableIndex;
typedef VariableIndex ClauseIndex;
typedef VariableIndex ClauseOfs;
typedef VariableIndex ComponentVarAndCls;
typedef unsigned CacheEntryID;
typedef int64_t DecisionLevel;
static const ClauseIndex NOT_A_CLAUSE(0);
#define SENTINEL_CL NOT_A_CLAUSE
#define BITS_PER_BYTE 8
#define FIRST_VAR 1
enum class SolverExitState {
NO_STATE, SUCCESS//, TIMEOUT, ABORTED
};
enum class SolverNextAction {
EXIT, RESOLVED, PROCESS_COMPONENT, BACKTRACK
};
#ifdef DEBUG
#define toDEBUGOUT(X) std::cout << X;
#else
#define toDEBUGOUT(X)
#endif
enum AssignmentEncoding{
ASSN_F = 0x0, ASSN_T = 0x1, ASSN_U = 0x3,
};
typedef std::vector<AssignmentEncoding> PartialAssignment;
typedef uint32_t SampleSize;
typedef int32_t TopTreeLiteral;
typedef uint64_t TreeNodeIndex;
enum class TopTreeNodeType {
MAX_DEPTH,
CYLINDER,
COMPONENT_SPLIT,
NUM_TREE_NODE_TYPES // Always be last
};
#endif /* PRIMITIVE_TYPES_H_ */