diff options
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend')
-rw-r--r-- | Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend index 120fb18a..9b4dff0f 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend | |||
@@ -88,6 +88,7 @@ class PolyhedronScopePropagator extends TypeHierarchyScopePropagator { | |||
88 | val result = operator.saturate() | 88 | val result = operator.saturate() |
89 | if (result == PolyhedronSaturationResult.EMPTY) { | 89 | if (result == PolyhedronSaturationResult.EMPTY) { |
90 | cache.put(signature, PolyhedronSignature.EMPTY) | 90 | cache.put(signature, PolyhedronSignature.EMPTY) |
91 | // println("INVALID") | ||
91 | setScopesInvalid() | 92 | setScopesInvalid() |
92 | } else { | 93 | } else { |
93 | val resultSignature = polyhedron.createSignature | 94 | val resultSignature = polyhedron.createSignature |
@@ -110,11 +111,8 @@ class PolyhedronScopePropagator extends TypeHierarchyScopePropagator { | |||
110 | } | 111 | } |
111 | } | 112 | } |
112 | 113 | ||
113 | override propagateAdditionToRelation(Relation r) { | 114 | override isPropagationNeededAfterAdditionToRelation(Relation r) { |
114 | super.propagateAdditionToRelation(r) | 115 | relevantRelations.contains(r) || super.isPropagationNeededAfterAdditionToRelation(r) |
115 | if (relevantRelations.contains(r)) { | ||
116 | propagateAllScopeConstraints() | ||
117 | } | ||
118 | } | 116 | } |
119 | 117 | ||
120 | def resetBounds() { | 118 | def resetBounds() { |