diff options
author | Kristóf Marussy <marussy@mit.bme.hu> | 2020-06-27 17:56:46 +0200 |
---|---|---|
committer | Kristóf Marussy <marussy@mit.bme.hu> | 2020-06-27 17:56:46 +0200 |
commit | 957082776dbb7efed53a783c5e5be6b443a9bb86 (patch) | |
tree | 6b88701d4b1b3928b7d3e7de49d177ca8c93ffad /Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/cardinality/PolyhedronScopePropagator.xtend | |
parent | Merge branch 'kris' (diff) | |
download | VIATRA-Generator-957082776dbb7efed53a783c5e5be6b443a9bb86.tar.gz VIATRA-Generator-957082776dbb7efed53a783c5e5be6b443a9bb86.tar.zst VIATRA-Generator-957082776dbb7efed53a783c5e5be6b443a9bb86.zip |
Fix scope + numerical propagation WIP
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() { |