VectorImpl(OrderNode, OrderNode *, 4);
VectorImpl(OrderGraph, OrderGraph *, 4);
-inline unsigned int Ptr_hash_function(void *hash) {
+static inline unsigned int Ptr_hash_function(void *hash) {
return (unsigned int)((int64)hash >> 4);
}
-inline bool Ptr_equals(void *key1, void *key2) {
+static inline bool Ptr_equals(void *key1, void *key2) {
return key1 == key2;
}
OrderGraph *allocOrderGraph(Order *order) {
OrderGraph *This = (OrderGraph *) ourmalloc(sizeof(OrderGraph));
This->nodes = allocHashSetOrderNode(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
+ This->edges = allocHashSetOrderEdge(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
This->order = order;
return This;
}
#include "satencoder.h"
#include "sattranslator.h"
#include "tunable.h"
+#include "orderencoder.h"
+#include "polarityassignment.h"
CSolver *allocCSolver() {
CSolver *This = (CSolver *) ourmalloc(sizeof(CSolver));
int startEncoding(CSolver *This) {
naiveEncodingDecision(This);
SATEncoder *satEncoder = This->satEncoder;
+ computePolarities(This);
+ orderAnalysis(This);
encodeAllSATEncoder(This, satEncoder);
int result = solveCNF(satEncoder->cnf);
model_print("sat_solver's result:%d\tsolutionSize=%d\n", result, satEncoder->cnf->solver->solutionsize);