#ifndef NAIVEELEMENTENCODER_H
#define NAIVEELEMENTENCODER_H
#include "classlist.h"
+#include "structs.h"
-//For now, This function just simply goes through elements/functions and
-//assigns a predefined Encoding to each of them
-void makeEncodingDecisions(CSolver* csolver);
-void encode(CSolver* csolver);
-void baseBinaryIndexElementAssign(ElementEncoding *This);
-void naiveEncodeFunctionPredicate( FunctionEncoding *This);
-void naiveEncodeCircuitFunction(FunctionEncoding* This);
-void naiveEncodeEnumeratedFunction(FunctionEncoding* This);
-void naiveEncodeEnumTableFunc(ElementFunction* This);
-void naiveEncodeEnumOperatingFunc(ElementFunction* This);
+/**
+ * The NaiveEncoder assigns a predefined Encoding to each Element and Function.
+ * @param csolver
+ * @param encoder
+ */
+
+void naiveEncodingDecision(CSolver *csolver);
+void naiveEncodingConstraint(CSolver *csolver, Boolean *This);
+void naiveEncodingLogicOp(CSolver *csolver, BooleanLogic *This);
+void naiveEncodingPredicate(CSolver *csolver, BooleanPredicate *This);
+void naiveEncodingElement(CSolver *csolver, Element *This);
#endif