aboutsummaryrefslogtreecommitdiffstats
path: root/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'Framework')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java8
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java17
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend6
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend2
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend4
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend15
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java7
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericZ3ProblemSolver.java2
11 files changed, 33 insertions, 36 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java
index 0ba0a6ca..fd289abb 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/RealLiteral.java
@@ -2,8 +2,6 @@
2 */ 2 */
3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage; 3package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage;
4 4
5import java.math.BigDecimal;
6
7/** 5/**
8 * <!-- begin-user-doc --> 6 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Real Literal</b></em>'. 7 * A representation of the model object '<em><b>Real Literal</b></em>'.
@@ -30,12 +28,12 @@ public interface RealLiteral extends AtomicTerm {
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.logic.model.logiclanguage.LogiclanguagePackage#getRealLiteral_Value() 32 * @see hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage#getRealLiteral_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.logic.model.logiclanguage.RealLiteral#getValue <em>Value</em>}' attribute. 39 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral#getValue <em>Value</em>}' attribute.
@@ -45,6 +43,6 @@ public interface RealLiteral extends AtomicTerm {
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} // RealLiteral 48} // RealLiteral
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java
index 03a679e4..48cb3efb 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/LogiclanguagePackageImpl.java
@@ -2351,7 +2351,7 @@ public class LogiclanguagePackageImpl extends EPackageImpl implements Logiclangu
2351 initEAttribute(getBoolLiteral_Value(), ecorePackage.getEBoolean(), "value", null, 1, 1, BoolLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2351 initEAttribute(getBoolLiteral_Value(), ecorePackage.getEBoolean(), "value", null, 1, 1, BoolLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2352 2352
2353 initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2353 initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2354 initEAttribute(getRealLiteral_Value(), ecorePackage.getEBigDecimal(), "value", null, 1, 1, RealLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2354 initEAttribute(getRealLiteral_Value(), ecorePackage.getEDouble(), "value", null, 1, 1, RealLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
2355 2355
2356 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 2356 initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
2357 initEReference(getVariable_Range(), this.getTypeReference(), null, "range", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 2357 initEReference(getVariable_Range(), this.getTypeReference(), null, "range", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java
index ffb2b97f..08791e2a 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/ecore-gen/hu/bme/mit/inf/dslreasoner/logic/model/logiclanguage/impl/RealLiteralImpl.java
@@ -4,9 +4,6 @@ package hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl;
4 4
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage; 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage;
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral; 6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral;
7
8import java.math.BigDecimal;
9
10import org.eclipse.emf.common.notify.Notification; 7import org.eclipse.emf.common.notify.Notification;
11 8
12import org.eclipse.emf.ecore.EClass; 9import org.eclipse.emf.ecore.EClass;
@@ -35,7 +32,7 @@ public class RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
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 RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
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 RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
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 RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
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, LogiclanguagePackage.REAL_LITERAL__VALUE, oldValue, value)); 86 eNotify(new ENotificationImpl(this, Notification.SET, LogiclanguagePackage.REAL_LITERAL__VALUE, oldValue, value));
@@ -112,7 +109,7 @@ public class RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
112 public void eSet(int featureID, Object newValue) { 109 public void eSet(int featureID, Object newValue) {
113 switch (featureID) { 110 switch (featureID) {
114 case LogiclanguagePackage.REAL_LITERAL__VALUE: 111 case LogiclanguagePackage.REAL_LITERAL__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 RealLiteralImpl extends AtomicTermImpl implements RealLiteral {
142 public boolean eIsSet(int featureID) { 139 public boolean eIsSet(int featureID) {
143 switch (featureID) { 140 switch (featureID) {
144 case LogiclanguagePackage.REAL_LITERAL__VALUE: 141 case LogiclanguagePackage.REAL_LITERAL__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/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore
index a91d4407..4db42c27 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore
@@ -55,7 +55,7 @@
55 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 55 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
56 </eClassifiers> 56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//AtomicTerm"> 57 <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//AtomicTerm">
58 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> 58 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
59 </eClassifiers> 59 </eClassifiers>
60 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//SymbolicDeclaration"> 60 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//SymbolicDeclaration">
61 <eStructuralFeatures xsi:type="ecore:EReference" name="range" lowerBound="1" eType="#//TypeReference" 61 <eStructuralFeatures xsi:type="ecore:EReference" name="range" lowerBound="1" eType="#//TypeReference"
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
index cdcbb48a..b49eb6aa 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicModelInterpretation.xtend
@@ -85,9 +85,9 @@ interface LogicModelInterpretation {
85 /** 85 /**
86 * Returns all real numbers relevant to the logic structure. Not all integer is necessarily used. 86 * Returns all real numbers relevant to the logic structure. Not all integer is necessarily used.
87 */ 87 */
88 def SortedSet<BigDecimal> getAllRealsInStructure() 88 def SortedSet<Double> getAllRealsInStructure()
89 89
90 def Map<TermDescription, BigDecimal> getAllRealsWithInterpretation() { 90 def Map<TermDescription, Double> getAllRealsWithInterpretation() {
91 allRealsInStructure.toMap [ real | 91 allRealsInStructure.toMap [ real |
92 (LogiclanguageFactory.eINSTANCE.createRealLiteral => [value = real]) as TermDescription 92 (LogiclanguageFactory.eINSTANCE.createRealLiteral => [value = real]) as TermDescription
93 ] 93 ]
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend
index fa97cbef..c8ff0b28 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicProblemBuilder.xtend
@@ -481,9 +481,9 @@ class LogicProblemBuilder{
481 def Pow(TermDescription left, TermDescription right) {createPow => [leftOperand = left.toTerm rightOperand = right.toTerm]} 481 def Pow(TermDescription left, TermDescription right) {createPow => [leftOperand = left.toTerm rightOperand = right.toTerm]}
482 def asTerm(boolean value) { createBoolLiteral => [x|x.value = value] } 482 def asTerm(boolean value) { createBoolLiteral => [x|x.value = value] }
483 def asTerm(int value) { createIntLiteral => [x|x.value = value] } 483 def asTerm(int value) { createIntLiteral => [x|x.value = value] }
484 def asTerm(double value) { BigDecimal.valueOf(value).asTerm } 484 def asTerm(double value) { createRealLiteral => [x|x.value = value] }
485 def asTerm(float value) { BigDecimal.valueOf(value).asTerm } 485 def asTerm(float value) { createRealLiteral => [x|x.value = value] }
486 def asTerm(BigDecimal value) { createRealLiteral => [x|x.value = value] } 486// def asTerm(BigDecimal value) { createRealLiteral => [x|x.value = value] }
487 def asTerm(String value) { createStringLiteral => [x|x.value = value]} 487 def asTerm(String value) { createStringLiteral => [x|x.value = value]}
488 def InstanceOf(TermDescription term, TypeDescriptor type) { 488 def InstanceOf(TermDescription term, TypeDescriptor type) {
489 createInstanceOf => [ 489 createInstanceOf => [
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend
index e62a3cb7..51d315b4 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicSolver.xtend
@@ -96,7 +96,7 @@ public class TypeScopes {
96 public var minNewIntegers = 0 96 public var minNewIntegers = 0
97 public var maxNewIntegers = Unlimited 97 public var maxNewIntegers = Unlimited
98 98
99 public var SortedSet<BigDecimal> knownReals = new TreeSet 99 public var SortedSet<Double> knownReals = new TreeSet
100 /** 100 /**
101 * Sets the number of Reals that has to be used to solve the problem. 101 * Sets the number of Reals that has to be used to solve the problem.
102 */ 102 */
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend
index 7ca67d83..507e4bfd 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/LogicStructureBuilder.xtend
@@ -146,7 +146,7 @@ class LogicStructureBuilder{
146 } 146 }
147 147
148 def protected dispatch Term toTerm(Integer o) { createIntLiteral=>[value = o] } 148 def protected dispatch Term toTerm(Integer o) { createIntLiteral=>[value = o] }
149 def protected dispatch Term toTerm(BigDecimal o) { createRealLiteral=>[value = o]} 149 def protected dispatch Term toTerm(Double o) { createRealLiteral=>[value = o]}
150 def protected dispatch Term toTerm(Boolean o) { createBoolLiteral=>[value = o]} 150 def protected dispatch Term toTerm(Boolean o) { createBoolLiteral=>[value = o]}
151 def protected dispatch Term toTerm(SymbolicDeclaration o) { createSymbolicValue=>[symbolicReference = o]} 151 def protected dispatch Term toTerm(SymbolicDeclaration o) { createSymbolicValue=>[symbolicReference = o]}
152 def public Term termDescriptiontoTerm(TermDescription term) { 152 def public Term termDescriptiontoTerm(TermDescription term) {
@@ -171,7 +171,7 @@ class LogicStructureBuilder{
171 // Atomic resoulutions 171 // Atomic resoulutions
172 def protected dispatch Object resolve(IntLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value as Integer } 172 def protected dispatch Object resolve(IntLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value as Integer }
173 def protected dispatch Object resolve(BoolLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value } 173 def protected dispatch Object resolve(BoolLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value }
174 def protected dispatch Object resolve(RealLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value as BigDecimal } 174 def protected dispatch Object resolve(RealLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value as Double }
175 def protected dispatch Object resolve(StringLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value } 175 def protected dispatch Object resolve(StringLiteral literal, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { return literal.value }
176 176
177 def protected dispatch Object resolve(Not not, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) { 177 def protected dispatch Object resolve(Not not, LogicModelInterpretation interpretation, Map<Variable,Object> variableBinding) {
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend
index 8d6b565a..3a74963f 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic2ecore/src/hu/bme/mit/inf/dslreasoner/logic2ecore/Logic2Ecore.xtend
@@ -109,13 +109,14 @@ class Logic2Ecore {
109 } 109 }
110 110
111 def translateType(EDataType type, Object value) { 111 def translateType(EDataType type, Object value) {
112 if(type == EcorePackage.eINSTANCE.EFloat) { 112// if(type == EcorePackage.eINSTANCE.EFloat) {
113 val bd = value as BigDecimal 113// val bd = value as BigDecimal
114 return bd.floatValue 114// return bd.floatValue
115 } else if( type == EcorePackage.eINSTANCE.EDouble ) { 115// } else if( type == EcorePackage.eINSTANCE.EDouble ) {
116 val bd = value as BigDecimal 116// val bd = value as BigDecimal
117 return bd.doubleValue 117// return bd.doubleValue
118 } else return value 118// } else
119 return value
119 } 120 }
120 121
121 protected dispatch def Map<? extends TermDescription, ? extends Object> getAllElementsOfDatatype(EEnum type, Ecore2Logic_Trace forwardTrace, LogicModelInterpretation interpretation) { 122 protected dispatch def Map<? extends TermDescription, ? extends Object> getAllElementsOfDatatype(EEnum type, Ecore2Logic_Trace forwardTrace, LogicModelInterpretation interpretation) {
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
index 55d52031..f410cc6d 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java
@@ -171,7 +171,8 @@ public class NumericDrealProblemSolver extends NumericProblemSolver{
171 if (isInt) { 171 if (isInt) {
172 expr = Integer.toString(((IntegerElement) matchedObj).getValue()); 172 expr = Integer.toString(((IntegerElement) matchedObj).getValue());
173 } else { 173 } else {
174 expr = Double.toString(((RealElement) matchedObj).getValue().doubleValue()); 174 expr = Double.toString(((RealElement) matchedObj).getValue());
175// expr = Double.toString(((RealElement) matchedObj).getValue().doubleValue());
175 } 176 }
176 varMap.put(matchedObj, expr); 177 varMap.put(matchedObj, expr);
177 } 178 }
@@ -301,7 +302,7 @@ public class NumericDrealProblemSolver extends NumericProblemSolver{
301 302
302 private Map<String, String> parseDrealOutput(List<String> output) { 303 private Map<String, String> parseDrealOutput(List<String> output) {
303 Map<String, String> res = new HashMap<String, String>(); 304 Map<String, String> res = new HashMap<String, String>();
304 String re = "(\\w+) : \\[([0-9\\-.e]+), ([0-9\\-.e]+)\\]"; 305 String re = "(\\w+) : \\[([0-9\\-+.e]+), ([0-9\\-+.e]+)\\]";
305 Pattern p = Pattern.compile(re); 306 Pattern p = Pattern.compile(re);
306 for (String varVal : output) { 307 for (String varVal : output) {
307 Matcher m = p.matcher(varVal); 308 Matcher m = p.matcher(varVal);
@@ -350,7 +351,7 @@ public class NumericDrealProblemSolver extends NumericProblemSolver{
350 } else { 351 } else {
351 String varName = varMap.get(obj); 352 String varName = varMap.get(obj);
352 String value = solMap.get(varName); 353 String value = solMap.get(varName);
353 sol.put(obj, Integer.parseInt(value)); 354 sol.put(obj, Double.parseDouble(value));
354 } 355 }
355 356
356 } else { 357 } else {
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericZ3ProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericZ3ProblemSolver.java
index ab7f6ddc..db33804e 100644
--- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericZ3ProblemSolver.java
+++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericZ3ProblemSolver.java
@@ -174,7 +174,7 @@ public class NumericZ3ProblemSolver extends NumericProblemSolver{
174 int value = ((IntegerElement) matchedObj).getValue(); 174 int value = ((IntegerElement) matchedObj).getValue();
175 expr = (ArithExpr) ctx.mkInt(value); 175 expr = (ArithExpr) ctx.mkInt(value);
176 } else { 176 } else {
177 double value = ((RealElement) matchedObj).getValue().doubleValue(); 177 double value = ((RealElement) matchedObj).getValue();
178 expr = (ArithExpr) ctx.mkReal(String.valueOf(value)); 178 expr = (ArithExpr) ctx.mkReal(String.valueOf(value));
179 } 179 }
180 varMap.put(matchedObj, expr); 180 varMap.put(matchedObj, expr);