(4) Might need to indicate what variables we can query about in
future?
+
+(5) Could simplify output of functions... Maybe several outputs have
+same effect...
Element *allocElement(Set * s) {
Element * tmp=(Element *)ourmalloc(sizeof(Element));
tmp->set=s;
+ tmp->encoding=NULL;
return tmp;
}
struct Element {
Set * set;
+ ElementEncoding * encoding;
};
Element * allocElement(Set *s);
#include "mymemory.h"
#include "ops.h"
#include "structs.h"
+
struct Function {
ArithOp op;
VectorSet* domains;
--- /dev/null
+#include "satencoder.h"
+
+SATEncoder * allocSATEncoder() {
+ SATEncoder *This=ourmalloc(sizeof (SATEncoder));
+ return This;
+}
+
+void deleteSATEncoder(SATEncoder *This) {
+ ourfree(This);
+}
--- /dev/null
+#ifndef SATENCODER_H
+#define SATENCODER_H
+
+#include "classlist.h"
+
+struct SATEncoder {
+
+};
+
+
+SATEncoder * allocSATEncoder();
+void deleteSATEncoder(SATEncoder *This);
+
+#endif
#include "elementencoding.h"
ElementEncoding * allocElementEncoding(ElementEncodingType type, Element *element) {
- ElementEncoding * This=(ElementEncoding *)ourmalloc(sizeof(ElementEncoding));
+ ElementEncoding * This=ourmalloc(sizeof(ElementEncoding));
This->element=element;
This->type=type;
This->variables=NULL;
#include "functionencoding.h"
FunctionEncoding * allocFunctionEncoding(FunctionEncodingType type, Element *function) {
- FunctionEncoding * This=(FunctionEncoding *)ourmalloc(sizeof(FunctionEncoding));
+ FunctionEncoding * This=ourmalloc(sizeof(FunctionEncoding));
This->op.function=function;
This->type=type;
return This;
}
FunctionEncoding * allocPredicateEncoding(FunctionEncodingType type, Boolean *predicate) {
- FunctionEncoding * This=(FunctionEncoding *)ourmalloc(sizeof(FunctionEncoding));
+ FunctionEncoding * This=ourmalloc(sizeof(FunctionEncoding));
This->op.predicate=predicate;
This->type=type;
return This;
--- /dev/null
+#include "orderencoding.h"
+
+OrderEncoding * allocOrderEncoding() {
+ OrderEncoding *This=ourmalloc(sizeof(OrderEncoding));
+ return This;
+}
+
+void deleteOrderEncoding(OrderEncoding *This) {
+ ourfree(This);
+}
--- /dev/null
+#ifndef ORDERENCODING_H
+#define ORDERENCODING_H
+#include "classlist.h"
+
+struct OrderEncoding {
+
+};
+
+OrderEncoding * allocOrderEncoding();
+void deleteOrderEncoding(OrderEncoding *This);
+
+#endif
struct CSolver;
typedef struct CSolver CSolver;
+struct SATEncoder;
+typedef struct SATEncoder SATEncoder;
+
struct Constraint;
typedef struct Constraint Constraint;
struct Set;
typedef struct Set Set;
-
typedef struct Set MutableSet;
struct Element;
struct FunctionEncoding;
typedef struct FunctionEncoding FunctionEncoding;
+struct OrderEncoding;
+typedef struct OrderEncoding OrderEncoding;
+
struct TableEntry;
typedef struct TableEntry TableEntry;