From d7e59ecdc7899b964ff1dcb0473d403d310d73d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Sat, 20 Oct 2018 17:42:44 +0200 Subject: [PATCH] modified: ../../src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java Erste Version mit Recursiv oder modified: ../bytecode/javFiles/Matrix.jav --- .../typeinference/unify/TypeUnifyTask.java | 26 +++++++++++++------ test/bytecode/javFiles/Matrix.jav | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 94487f9c..866c1663 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -88,6 +88,8 @@ public class TypeUnifyTask extends RecursiveTask>> { Integer noAllErasedElements = 0; + static Integer noou = 0; + static int noBacktracking; public TypeUnifyTask() { @@ -279,11 +281,20 @@ public class TypeUnifyTask extends RecursiveTask>> { i++; Set> elems = new HashSet>(fstElems); elems.add(a); + Set> res = new HashSet<>(); if (remainingSets.isEmpty()) { + noou++; writeLog("Vor unify Aufruf: " + eq.toString()); + writeLog("No of Unify " + noou); + System.out.println(noou); Set eq = new HashSet<>(); fstElems.stream().forEach(x -> eq.addAll(x)); - Set> res = unify(eq, fc, parallel); + res = unify(eq, fc, parallel); + } + else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 + res = computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel); + + } if (!isUndefinedPairSetSet(res) && isUndefinedPairSetSet(result)) { //wenn korrektes Ergebnis gefunden alle Fehlerfaelle loeschen result = res; @@ -301,7 +312,9 @@ public class TypeUnifyTask extends RecursiveTask>> { // result = result; // } //} - } + } + + /* auskommentiert um alle Max und min Betrachtung auszuschalten ANFANG */ @@ -400,13 +413,10 @@ public class TypeUnifyTask extends RecursiveTask>> { // result.removeIf(y -> isUndefinedPairSet(y)); //} //else result.stream().filter(y -> !isUndefinedPairSet(y)); - } // End of if (remainingSets.isEmpty()) - else {//duerfte gar nicht mehr vorkommen PL 2018-04-03 - result.addAll(computeCartesianRecursiveOderConstraints(elems, remainingSets, fc, parallel)); - } - return result; + + } // End of while (nextSetasList.size() > 0) - return null; //kann nicht erreicht werden, da der Fall bei dem nextSet == empty bereits am Anfang abgefangen wird + return result; } diff --git a/test/bytecode/javFiles/Matrix.jav b/test/bytecode/javFiles/Matrix.jav index 6eae3428..b3857744 100644 --- a/test/bytecode/javFiles/Matrix.jav +++ b/test/bytecode/javFiles/Matrix.jav @@ -18,7 +18,7 @@ public class Matrix extends Vector> { } } - Matrix mul(java.util.Vector> m) { + mul(m) { var ret = new Matrix(); var i = 0; while(i < size()) {