Browse Source

nw variant processor that is supposed to implement the search for best way to break loops.

Claudio Gomes 5 years ago
parent
commit
c25a53ec21

+ 16 - 0
HintCOEngine/src/ua/ansymo/hintco/AlgebraicLoopVariantProcessor.xtend

@@ -0,0 +1,16 @@
+package ua.ansymo.hintco
+
+import java.util.Deque
+
+class AlgebraicLoopVariantProcessor implements IVariantProcessor {
+	
+	ICosimRunner runner
+	
+	new(ICosimRunner r){
+		runner = r
+	}
+	
+	override process(Deque<VariantDiagram> ns, String variantID, ConstraintsStack constraints, HintConfiguration cs) {
+	}
+	
+}

+ 9 - 2
HintCOEngine/src/ua/ansymo/hintco/Main.xtend

@@ -90,15 +90,22 @@ class Main implements IApplication {
 			spaceGenerator.createCandidateSpace(hints, src)
 		}
 		
+		val optimizeAlgebraicLoops = cmd.hasOption(optLoops.opt)
+		
 		val runner = new AdaptiveCosimRunner(new OutputProcessor(outDir), new FmuLoader, false)
-		val generator = new CandidatesGenerator(new ConstraintChecker,new VariantValidator, new VariantProcessor(runner))
+		val variantProcessor = if (optimizeAlgebraicLoops) {
+			new AlgebraicLoopVariantProcessor(runner)
+		} else {
+			new VariantProcessor(runner)
+		}
+		val generator = new CandidatesGenerator(new ConstraintChecker,new VariantValidator, variantProcessor)
 		
 		generator.createVariantTree(src)
 		generator.processAdaptations(src)
 		
 		val nVars = Integer.parseInt(cmd.getOptionValue(nVarsOpt.opt, Integer.MAX_VALUE.toString))
 		
-		generator.generateVariants(src, nVars, cmd.hasOption(optLoops.opt))
+		generator.generateVariants(src, nVars, optimizeAlgebraicLoops)
 		
 		runner.close()
 	}