diff options
author | OszkarSemerath <oszka@152.66.252.189> | 2017-06-10 19:05:05 +0200 |
---|---|---|
committer | OszkarSemerath <oszka@152.66.252.189> | 2017-06-10 19:05:05 +0200 |
commit | 60f01f46ba232ed6416054f0a6115cb2a9b70b4e (patch) | |
tree | 5edf8aeb07abc51f3fec63bbd15c926e1de09552 /Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend | |
parent | Initial commit, migrating from SVN (diff) | |
download | VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.tar.gz VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.tar.zst VIATRA-Generator-60f01f46ba232ed6416054f0a6115cb2a9b70b4e.zip |
Migrating Additional projects
Diffstat (limited to 'Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend')
-rw-r--r-- | Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend new file mode 100644 index 00000000..8c2d5dad --- /dev/null +++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2SmtMapper_UnfoldingSupport.xtend | |||
@@ -0,0 +1,33 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.smt.reasoner | ||
2 | |||
3 | //import hu.bme.mit.inf.dslreasoner.smtLanguage.SmtLanguageFactory | ||
4 | import java.util.ArrayList | ||
5 | import java.util.List | ||
6 | |||
7 | class Logic2SmtMapper_UnfoldingSupport { | ||
8 | //val extension SmtLanguageFactory factory = SmtLanguageFactory.eINSTANCE | ||
9 | |||
10 | def List<List<TypeConstraint>> getPermutations(List<List<TypeConstraint>> lists) { | ||
11 | if(lists.size == 1) { | ||
12 | val elements = lists.head | ||
13 | val result = new ArrayList(elements.size) | ||
14 | for(element: elements){ | ||
15 | result.add(#[element.copy]) | ||
16 | } | ||
17 | return result | ||
18 | } else { | ||
19 | val permuteThis = lists.head | ||
20 | val withThat = getPermutations(lists.tail.toList) | ||
21 | val result = new ArrayList(permuteThis.size*withThat.size) | ||
22 | for(h:permuteThis) { | ||
23 | for(t:withThat) { | ||
24 | val l = new ArrayList(withThat.size+1) | ||
25 | l+=h.copy | ||
26 | l.addAll(t.map[copy]) | ||
27 | result.add(l) | ||
28 | } | ||
29 | } | ||
30 | return result | ||
31 | } | ||
32 | } | ||
33 | } \ No newline at end of file | ||