aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java
diff options
context:
space:
mode:
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java
new file mode 100644
index 00000000..bd4a10ff
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java
@@ -0,0 +1,41 @@
1package hu.bme.mit.inf.dslreasoner.viatra2logic;
2
3import java.io.IOException;
4import java.util.List;
5import java.util.Map;
6
7import org.eclipse.xtext.common.types.JvmIdentifiableElement;
8import org.eclipse.xtext.xbase.XExpression;
9
10import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PrimitiveElement;
11
12public class NumericDynamicProblemSolver extends NumericProblemSolver{
13
14// private NumericZ3ProblemSolver z3Solver;
15 private NumericDrealProblemSolver drealSolver;
16
17 public NumericDynamicProblemSolver(String drealLocalPath) throws IOException, InterruptedException {
18// this.z3Solver = new NumericZ3ProblemSolver();
19 this.drealSolver = new NumericDrealProblemSolver(false, drealLocalPath);
20 }
21
22 public NumericProblemSolver selectSolver(String selection) {
23 switch (selection) {
24 case "z3":
25 return new NumericZ3ProblemSolver();
26 case "dreal":
27 return this.drealSolver;
28 default:
29 throw new IllegalArgumentException("Unknown numeric solver selection: " + selection);
30 }
31 }
32
33 public boolean isSatisfiable(Map<XExpression, Iterable<Map<JvmIdentifiableElement, PrimitiveElement>>> matches)
34 throws Exception {
35 throw new Exception("Should not reach here - isSatisfiable");
36 }
37
38 public Map<PrimitiveElement, Number> getOneSolution(List<PrimitiveElement> objs,
39 Map<XExpression, Iterable<Map<JvmIdentifiableElement, PrimitiveElement>>> matches) throws Exception {
40 throw new Exception("Should not reach here - getOneSolution");
41 }}