From: bdemsky Date: Mon, 19 Jun 2017 22:58:58 +0000 (-0700) Subject: Changes X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=commitdiff_plain;h=c5aa88ae6e416bd79459c619b2a30bf565c50ac0 Changes --- diff --git a/design/notes.txt b/design/notes.txt index 1159c96..ce399c3 100644 --- a/design/notes.txt +++ b/design/notes.txt @@ -6,3 +6,6 @@ (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... diff --git a/src/AST/element.c b/src/AST/element.c index 45117e1..df29cfe 100644 --- a/src/AST/element.c +++ b/src/AST/element.c @@ -3,6 +3,7 @@ Element *allocElement(Set * s) { Element * tmp=(Element *)ourmalloc(sizeof(Element)); tmp->set=s; + tmp->encoding=NULL; return tmp; } diff --git a/src/AST/element.h b/src/AST/element.h index 6cbf94c..91d19db 100644 --- a/src/AST/element.h +++ b/src/AST/element.h @@ -5,6 +5,7 @@ struct Element { Set * set; + ElementEncoding * encoding; }; Element * allocElement(Set *s); diff --git a/src/AST/function.h b/src/AST/function.h index 459f0b5..65a4b29 100644 --- a/src/AST/function.h +++ b/src/AST/function.h @@ -4,6 +4,7 @@ #include "mymemory.h" #include "ops.h" #include "structs.h" + struct Function { ArithOp op; VectorSet* domains; diff --git a/src/Backend/satencoder.c b/src/Backend/satencoder.c new file mode 100644 index 0000000..5f2be2e --- /dev/null +++ b/src/Backend/satencoder.c @@ -0,0 +1,10 @@ +#include "satencoder.h" + +SATEncoder * allocSATEncoder() { + SATEncoder *This=ourmalloc(sizeof (SATEncoder)); + return This; +} + +void deleteSATEncoder(SATEncoder *This) { + ourfree(This); +} diff --git a/src/Backend/satencoder.h b/src/Backend/satencoder.h new file mode 100644 index 0000000..04c4923 --- /dev/null +++ b/src/Backend/satencoder.h @@ -0,0 +1,14 @@ +#ifndef SATENCODER_H +#define SATENCODER_H + +#include "classlist.h" + +struct SATEncoder { + +}; + + +SATEncoder * allocSATEncoder(); +void deleteSATEncoder(SATEncoder *This); + +#endif diff --git a/src/Encoders/elementencoding.c b/src/Encoders/elementencoding.c index fb2ce4a..08385db 100644 --- a/src/Encoders/elementencoding.c +++ b/src/Encoders/elementencoding.c @@ -1,7 +1,7 @@ #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; diff --git a/src/Encoders/functionencoding.c b/src/Encoders/functionencoding.c index 282912d..c9c0e19 100644 --- a/src/Encoders/functionencoding.c +++ b/src/Encoders/functionencoding.c @@ -1,14 +1,14 @@ #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; diff --git a/src/Encoders/orderencoding.c b/src/Encoders/orderencoding.c new file mode 100644 index 0000000..fcef2f3 --- /dev/null +++ b/src/Encoders/orderencoding.c @@ -0,0 +1,10 @@ +#include "orderencoding.h" + +OrderEncoding * allocOrderEncoding() { + OrderEncoding *This=ourmalloc(sizeof(OrderEncoding)); + return This; +} + +void deleteOrderEncoding(OrderEncoding *This) { + ourfree(This); +} diff --git a/src/Encoders/orderencoding.h b/src/Encoders/orderencoding.h new file mode 100644 index 0000000..c0e4c00 --- /dev/null +++ b/src/Encoders/orderencoding.h @@ -0,0 +1,12 @@ +#ifndef ORDERENCODING_H +#define ORDERENCODING_H +#include "classlist.h" + +struct OrderEncoding { + +}; + +OrderEncoding * allocOrderEncoding(); +void deleteOrderEncoding(OrderEncoding *This); + +#endif diff --git a/src/classlist.h b/src/classlist.h index d232592..6335297 100644 --- a/src/classlist.h +++ b/src/classlist.h @@ -18,6 +18,9 @@ struct CSolver; typedef struct CSolver CSolver; +struct SATEncoder; +typedef struct SATEncoder SATEncoder; + struct Constraint; typedef struct Constraint Constraint; @@ -35,7 +38,6 @@ typedef struct IncrementalSolver IncrementalSolver; struct Set; typedef struct Set Set; - typedef struct Set MutableSet; struct Element; @@ -59,6 +61,9 @@ typedef struct ElementEncoding ElementEncoding; struct FunctionEncoding; typedef struct FunctionEncoding FunctionEncoding; +struct OrderEncoding; +typedef struct OrderEncoding OrderEncoding; + struct TableEntry; typedef struct TableEntry TableEntry;