diff options
Diffstat (limited to 'Solvers')
9 files changed, 37 insertions, 40 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RealElement.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RealElement.java index 65b40808..c30314d5 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RealElement.java +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/RealElement.java | |||
@@ -2,8 +2,6 @@ | |||
2 | */ | 2 | */ |
3 | package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; | 3 | package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation; |
4 | 4 | ||
5 | import java.math.BigDecimal; | ||
6 | |||
7 | /** | 5 | /** |
8 | * <!-- begin-user-doc --> | 6 | * <!-- begin-user-doc --> |
9 | * A representation of the model object '<em><b>Real Element</b></em>'. | 7 | * A representation of the model object '<em><b>Real Element</b></em>'. |
@@ -30,12 +28,12 @@ public interface RealElement extends PrimitiveElement { | |||
30 | * </p> | 28 | * </p> |
31 | * <!-- end-user-doc --> | 29 | * <!-- end-user-doc --> |
32 | * @return the value of the '<em>Value</em>' attribute. | 30 | * @return the value of the '<em>Value</em>' attribute. |
33 | * @see #setValue(BigDecimal) | 31 | * @see #setValue(double) |
34 | * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getRealElement_Value() | 32 | * @see hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage#getRealElement_Value() |
35 | * @model required="true" | 33 | * @model required="true" |
36 | * @generated | 34 | * @generated |
37 | */ | 35 | */ |
38 | BigDecimal getValue(); | 36 | double getValue(); |
39 | 37 | ||
40 | /** | 38 | /** |
41 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement#getValue <em>Value</em>}' attribute. | 39 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement#getValue <em>Value</em>}' attribute. |
@@ -45,6 +43,6 @@ public interface RealElement extends PrimitiveElement { | |||
45 | * @see #getValue() | 43 | * @see #getValue() |
46 | * @generated | 44 | * @generated |
47 | */ | 45 | */ |
48 | void setValue(BigDecimal value); | 46 | void setValue(double value); |
49 | 47 | ||
50 | } // RealElement | 48 | } // RealElement |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java index 1ea3a11d..cb97c5ad 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/PartialinterpretationPackageImpl.java | |||
@@ -1069,7 +1069,7 @@ public class PartialinterpretationPackageImpl extends EPackageImpl implements Pa | |||
1069 | initEAttribute(getIntegerElement_Value(), ecorePackage.getEInt(), "value", null, 1, 1, IntegerElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 1069 | initEAttribute(getIntegerElement_Value(), ecorePackage.getEInt(), "value", null, 1, 1, IntegerElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
1070 | 1070 | ||
1071 | initEClass(realElementEClass, RealElement.class, "RealElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 1071 | initEClass(realElementEClass, RealElement.class, "RealElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
1072 | initEAttribute(getRealElement_Value(), ecorePackage.getEBigDecimal(), "value", null, 1, 1, RealElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 1072 | initEAttribute(getRealElement_Value(), ecorePackage.getEDouble(), "value", null, 1, 1, RealElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
1073 | 1073 | ||
1074 | initEClass(stringElementEClass, StringElement.class, "StringElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | 1074 | initEClass(stringElementEClass, StringElement.class, "StringElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); |
1075 | initEAttribute(getStringElement_Value(), ecorePackage.getEString(), "value", null, 1, 1, StringElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | 1075 | initEAttribute(getStringElement_Value(), ecorePackage.getEString(), "value", null, 1, 1, StringElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RealElementImpl.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RealElementImpl.java index 67cff5a2..d1ff754f 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RealElementImpl.java +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/ecore-gen/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/partialinterpretation/impl/RealElementImpl.java | |||
@@ -4,9 +4,6 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.pa | |||
4 | 4 | ||
5 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; | 5 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage; |
6 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement; | 6 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.RealElement; |
7 | |||
8 | import java.math.BigDecimal; | ||
9 | |||
10 | import org.eclipse.emf.common.notify.Notification; | 7 | import org.eclipse.emf.common.notify.Notification; |
11 | 8 | ||
12 | import org.eclipse.emf.ecore.EClass; | 9 | import org.eclipse.emf.ecore.EClass; |
@@ -35,7 +32,7 @@ public class RealElementImpl extends PrimitiveElementImpl implements RealElement | |||
35 | * @generated | 32 | * @generated |
36 | * @ordered | 33 | * @ordered |
37 | */ | 34 | */ |
38 | protected static final BigDecimal VALUE_EDEFAULT = null; | 35 | protected static final double VALUE_EDEFAULT = 0.0; |
39 | 36 | ||
40 | /** | 37 | /** |
41 | * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. | 38 | * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. |
@@ -45,7 +42,7 @@ public class RealElementImpl extends PrimitiveElementImpl implements RealElement | |||
45 | * @generated | 42 | * @generated |
46 | * @ordered | 43 | * @ordered |
47 | */ | 44 | */ |
48 | protected BigDecimal value = VALUE_EDEFAULT; | 45 | protected double value = VALUE_EDEFAULT; |
49 | 46 | ||
50 | /** | 47 | /** |
51 | * <!-- begin-user-doc --> | 48 | * <!-- begin-user-doc --> |
@@ -72,7 +69,7 @@ public class RealElementImpl extends PrimitiveElementImpl implements RealElement | |||
72 | * @generated | 69 | * @generated |
73 | */ | 70 | */ |
74 | @Override | 71 | @Override |
75 | public BigDecimal getValue() { | 72 | public double getValue() { |
76 | return value; | 73 | return value; |
77 | } | 74 | } |
78 | 75 | ||
@@ -82,8 +79,8 @@ public class RealElementImpl extends PrimitiveElementImpl implements RealElement | |||
82 | * @generated | 79 | * @generated |
83 | */ | 80 | */ |
84 | @Override | 81 | @Override |
85 | public void setValue(BigDecimal newValue) { | 82 | public void setValue(double newValue) { |
86 | BigDecimal oldValue = value; | 83 | double oldValue = value; |
87 | value = newValue; | 84 | value = newValue; |
88 | if (eNotificationRequired()) | 85 | if (eNotificationRequired()) |
89 | eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.REAL_ELEMENT__VALUE, oldValue, value)); | 86 | eNotify(new ENotificationImpl(this, Notification.SET, PartialinterpretationPackage.REAL_ELEMENT__VALUE, oldValue, value)); |
@@ -112,7 +109,7 @@ public class RealElementImpl extends PrimitiveElementImpl implements RealElement | |||
112 | public void eSet(int featureID, Object newValue) { | 109 | public void eSet(int featureID, Object newValue) { |
113 | switch (featureID) { | 110 | switch (featureID) { |
114 | case PartialinterpretationPackage.REAL_ELEMENT__VALUE: | 111 | case PartialinterpretationPackage.REAL_ELEMENT__VALUE: |
115 | setValue((BigDecimal)newValue); | 112 | setValue((Double)newValue); |
116 | return; | 113 | return; |
117 | } | 114 | } |
118 | super.eSet(featureID, newValue); | 115 | super.eSet(featureID, newValue); |
@@ -142,7 +139,7 @@ public class RealElementImpl extends PrimitiveElementImpl implements RealElement | |||
142 | public boolean eIsSet(int featureID) { | 139 | public boolean eIsSet(int featureID) { |
143 | switch (featureID) { | 140 | switch (featureID) { |
144 | case PartialinterpretationPackage.REAL_ELEMENT__VALUE: | 141 | case PartialinterpretationPackage.REAL_ELEMENT__VALUE: |
145 | return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); | 142 | return value != VALUE_EDEFAULT; |
146 | } | 143 | } |
147 | return super.eIsSet(featureID); | 144 | return super.eIsSet(featureID); |
148 | } | 145 | } |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore index 47d54258..b2398acd 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/model/PartialInterpretation.ecore | |||
@@ -83,7 +83,7 @@ | |||
83 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | 83 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
84 | </eClassifiers> | 84 | </eClassifiers> |
85 | <eClassifiers xsi:type="ecore:EClass" name="RealElement" eSuperTypes="#//PrimitiveElement"> | 85 | <eClassifiers xsi:type="ecore:EClass" name="RealElement" eSuperTypes="#//PrimitiveElement"> |
86 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> | 86 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> |
87 | </eClassifiers> | 87 | </eClassifiers> |
88 | <eClassifiers xsi:type="ecore:EClass" name="StringElement" eSuperTypes="#//PrimitiveElement"> | 88 | <eClassifiers xsi:type="ecore:EClass" name="StringElement" eSuperTypes="#//PrimitiveElement"> |
89 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 89 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend index cb5b587f..94959025 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretation2logic/InstanceModel2PartialInterpretation.xtend | |||
@@ -13,7 +13,6 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.Par | |||
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.Problem2PartialInterpretationTrace | 13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.Problem2PartialInterpretationTrace |
14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation | 14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialRelationInterpretation |
15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory | 15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationFactory |
16 | import java.math.BigDecimal | ||
17 | import java.util.HashMap | 16 | import java.util.HashMap |
18 | import java.util.HashSet | 17 | import java.util.HashSet |
19 | import java.util.List | 18 | import java.util.List |
@@ -148,7 +147,7 @@ class InstanceModel2PartialInterpretation { | |||
148 | 147 | ||
149 | private def createTypeScopesFromKnownAttributeValues(List<EObject> objects, Set<EAttribute> attributesUsed) { | 148 | private def createTypeScopesFromKnownAttributeValues(List<EObject> objects, Set<EAttribute> attributesUsed) { |
150 | val Set<Integer> integers = new HashSet | 149 | val Set<Integer> integers = new HashSet |
151 | val Set<BigDecimal> reals = new HashSet | 150 | val Set<Double> reals = new HashSet |
152 | val Set<String> strings = new HashSet | 151 | val Set<String> strings = new HashSet |
153 | for(object: objects) { | 152 | for(object: objects) { |
154 | for(attribute : object.eClass.EAllAttributes.filter[attributesUsed.contains(it)]) { | 153 | for(attribute : object.eClass.EAllAttributes.filter[attributesUsed.contains(it)]) { |
@@ -170,28 +169,28 @@ class InstanceModel2PartialInterpretation { | |||
170 | it.knownStrings += strings | 169 | it.knownStrings += strings |
171 | ] | 170 | ] |
172 | } | 171 | } |
173 | private def dispatch shortValue(Boolean value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 172 | private def dispatch shortValue(Boolean value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
174 | // Do nothing | 173 | // Do nothing |
175 | } | 174 | } |
176 | private def dispatch shortValue(Integer value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 175 | private def dispatch shortValue(Integer value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
177 | integers += value | 176 | integers += value |
178 | } | 177 | } |
179 | private def dispatch shortValue(Short value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 178 | private def dispatch shortValue(Short value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
180 | integers += Integer.valueOf(value) | 179 | integers += Integer.valueOf(value) |
181 | } | 180 | } |
182 | private def dispatch shortValue(Float value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 181 | private def dispatch shortValue(Float value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
183 | reals += BigDecimal.valueOf(value) | 182 | reals += Double.valueOf(value) |
184 | } | 183 | } |
185 | private def dispatch shortValue(Double value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 184 | private def dispatch shortValue(Double value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
186 | reals += BigDecimal.valueOf(value) | 185 | reals += value |
187 | } | 186 | } |
188 | private def dispatch shortValue(String value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 187 | private def dispatch shortValue(String value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
189 | strings += value | 188 | strings += value |
190 | } | 189 | } |
191 | private def dispatch shortValue(Void value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 190 | private def dispatch shortValue(Void value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
192 | // Do nothing | 191 | // Do nothing |
193 | } | 192 | } |
194 | private def dispatch shortValue(Object value, Set<Integer> integers, Set<BigDecimal> reals, Set<String> strings) { | 193 | private def dispatch shortValue(Object value, Set<Integer> integers, Set<Double> reals, Set<String> strings) { |
195 | // Do nothing | 194 | // Do nothing |
196 | } | 195 | } |
197 | 196 | ||
@@ -220,11 +219,11 @@ class InstanceModel2PartialInterpretation { | |||
220 | } | 219 | } |
221 | 220 | ||
222 | dispatch protected def translateValue(Double value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { | 221 | dispatch protected def translateValue(Double value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { |
223 | BigDecimal.valueOf(value).lookup(partialInterpretationTrace.primitiveValues.realMap) | 222 | value.lookup(partialInterpretationTrace.primitiveValues.realMap) |
224 | } | 223 | } |
225 | 224 | ||
226 | dispatch protected def translateValue(Float value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { | 225 | dispatch protected def translateValue(Float value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { |
227 | BigDecimal.valueOf(value).lookup(partialInterpretationTrace.primitiveValues.realMap) | 226 | Double.valueOf(value).lookup(partialInterpretationTrace.primitiveValues.realMap) |
228 | } | 227 | } |
229 | 228 | ||
230 | dispatch protected def translateValue(String value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { | 229 | dispatch protected def translateValue(String value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend index 20ff58f2..92db5c18 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend | |||
@@ -52,7 +52,7 @@ import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | |||
52 | PartialIntegerInterpretation integerInterpretation | 52 | PartialIntegerInterpretation integerInterpretation |
53 | Map<Integer,IntegerElement> integerMap | 53 | Map<Integer,IntegerElement> integerMap |
54 | PartialRealInterpretation realInterpretation | 54 | PartialRealInterpretation realInterpretation |
55 | Map<BigDecimal,RealElement> realMap | 55 | Map<Double,RealElement> realMap |
56 | PartialStringInterpretation stringInterpretation | 56 | PartialStringInterpretation stringInterpretation |
57 | Map<String,StringElement> stringMap | 57 | Map<String,StringElement> stringMap |
58 | } | 58 | } |
@@ -146,7 +146,7 @@ class PartialInterpretationInitialiser { | |||
146 | return integerInterpretation | 146 | return integerInterpretation |
147 | } | 147 | } |
148 | 148 | ||
149 | def protected initReals(PartialInterpretation partialInterpretation, SortedSet<BigDecimal> knownReals, int minNewReals, int maxNewReals) { | 149 | def protected initReals(PartialInterpretation partialInterpretation, SortedSet<Double> knownReals, int minNewReals, int maxNewReals) { |
150 | val realInterpretation = createPartialRealInterpretation | 150 | val realInterpretation = createPartialRealInterpretation |
151 | partialInterpretation.partialtypeinterpratation += realInterpretation | 151 | partialInterpretation.partialtypeinterpratation += realInterpretation |
152 | 152 | ||
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend index 144e5e6f..d386241d 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend | |||
@@ -110,7 +110,7 @@ class ViatraReasoner extends LogicReasoner { | |||
110 | new SolutionStore(numberOfRequiredSolutions) | 110 | new SolutionStore(numberOfRequiredSolutions) |
111 | } | 111 | } |
112 | solutionStore.registerSolutionFoundHandler(new LoggerSolutionFoundHandler(viatraConfig)) | 112 | solutionStore.registerSolutionFoundHandler(new LoggerSolutionFoundHandler(viatraConfig)) |
113 | val numericSolver = new NumericSolver(method, viatraConfig, false) | 113 | val numericSolver = new NumericSolver(method, viatraConfig, true)//was formerly hard-coded to false for caching |
114 | val solutionSaver = method.solutionSaver | 114 | val solutionSaver = method.solutionSaver |
115 | solutionSaver.numericSolver = numericSolver | 115 | solutionSaver.numericSolver = numericSolver |
116 | val solutionCopier = solutionSaver.solutionCopier | 116 | val solutionCopier = solutionSaver.solutionCopier |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend index 4b0ea544..ab3e6601 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend | |||
@@ -98,11 +98,12 @@ class NumericSolver { | |||
98 | finalResult=true | 98 | finalResult=true |
99 | } else { | 99 | } else { |
100 | val propagatedConstraints = new HashMap | 100 | val propagatedConstraints = new HashMap |
101 | println("------ Any matches?") | ||
101 | for(entry : matches.entrySet) { | 102 | for(entry : matches.entrySet) { |
102 | val constraint = entry.key | 103 | val constraint = entry.key |
103 | //println(constraint) | 104 | println("------ " + constraint) |
104 | val allMatches = entry.value.allMatches.map[it.toArray] | 105 | val allMatches = entry.value.allMatches.map[it.toArray] |
105 | //println(allMatches.toList) | 106 | println("------ " + allMatches.toList) |
106 | propagatedConstraints.put(constraint,allMatches) | 107 | propagatedConstraints.put(constraint,allMatches) |
107 | } | 108 | } |
108 | if(propagatedConstraints.values.forall[empty]) { | 109 | if(propagatedConstraints.values.forall[empty]) { |
@@ -198,6 +199,6 @@ class NumericSolver { | |||
198 | 199 | ||
199 | def protected dispatch fillWithValue(BooleanElement e, Object value) {e.valueSet=true e.value=value as Boolean} | 200 | def protected dispatch fillWithValue(BooleanElement e, Object value) {e.valueSet=true e.value=value as Boolean} |
200 | def protected dispatch fillWithValue(IntegerElement e, Object value) {e.valueSet=true e.value=value as Integer} | 201 | def protected dispatch fillWithValue(IntegerElement e, Object value) {e.valueSet=true e.value=value as Integer} |
201 | def protected dispatch fillWithValue(RealElement e, Object value) {e.valueSet=true e.value=BigDecimal.valueOf(value as Double) } | 202 | def protected dispatch fillWithValue(RealElement e, Object value) {e.valueSet=true e.value=value as Double } |
202 | def protected dispatch fillWithValue(StringElement e, Object value) {e.valueSet=true e.value=value as String} | 203 | def protected dispatch fillWithValue(StringElement e, Object value) {e.valueSet=true e.value=value as String} |
203 | } \ No newline at end of file | 204 | } \ No newline at end of file |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend index b48d0831..4484052d 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/PartialModelAsLogicInterpretation.xtend | |||
@@ -36,7 +36,7 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ | |||
36 | val Map<DefinedElement,DefinedElement> elementBackwardTrace | 36 | val Map<DefinedElement,DefinedElement> elementBackwardTrace |
37 | val Map<Boolean, BooleanElement> booleanForwardTrace | 37 | val Map<Boolean, BooleanElement> booleanForwardTrace |
38 | val Map<Integer, IntegerElement> integerForwardTrace | 38 | val Map<Integer, IntegerElement> integerForwardTrace |
39 | val Map<BigDecimal, RealElement> realForwardTrace | 39 | val Map<Double, RealElement> realForwardTrace |
40 | val Map<String, StringElement> stringForwardTrace | 40 | val Map<String, StringElement> stringForwardTrace |
41 | 41 | ||
42 | new(PartialInterpretation partialInterpretation, Map<EObject, EObject> forwardMap) { | 42 | new(PartialInterpretation partialInterpretation, Map<EObject, EObject> forwardMap) { |
@@ -51,7 +51,9 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ | |||
51 | integerForwardTrace = initialisePrimitiveElementTrace( | 51 | integerForwardTrace = initialisePrimitiveElementTrace( |
52 | 0,[it+1],[it],partialInterpretation.newElements.filter(IntegerElement),[it.value]) | 52 | 0,[it+1],[it],partialInterpretation.newElements.filter(IntegerElement),[it.value]) |
53 | realForwardTrace = initialisePrimitiveElementTrace( | 53 | realForwardTrace = initialisePrimitiveElementTrace( |
54 | BigDecimal::ZERO,[it.add(BigDecimal.ONE)],[it],partialInterpretation.newElements.filter(RealElement),[it.value]) | 54 | 0.0,[it+1.0],[it],partialInterpretation.newElements.filter(RealElement),[it.value]) |
55 | // realForwardTrace = initialisePrimitiveElementTrace( | ||
56 | // BigDecimal::ZERO,[it.add(BigDecimal.ONE)],[it],partialInterpretation.newElements.filter(RealElement),[it.value]) | ||
55 | stringForwardTrace = initialisePrimitiveElementTrace( | 57 | stringForwardTrace = initialisePrimitiveElementTrace( |
56 | 0,[it+1],['''String«it»'''],partialInterpretation.newElements.filter(StringElement),[it.value]) | 58 | 0,[it+1],['''String«it»'''],partialInterpretation.newElements.filter(StringElement),[it.value]) |
57 | } | 59 | } |
@@ -116,7 +118,7 @@ class PartialModelAsLogicInterpretation implements LogicModelInterpretation{ | |||
116 | def dispatch elementLookupForward(Integer e) { | 118 | def dispatch elementLookupForward(Integer e) { |
117 | this.integerForwardTrace.get(e) | 119 | this.integerForwardTrace.get(e) |
118 | } | 120 | } |
119 | def dispatch elementLookupForward(BigDecimal e) { | 121 | def dispatch elementLookupForward(Double e) { |
120 | this.realForwardTrace.get(e) | 122 | this.realForwardTrace.get(e) |
121 | } | 123 | } |
122 | def dispatch elementLookupForward(String e) { | 124 | def dispatch elementLookupForward(String e) { |