From b2174e0df4bfd7954c966ff4f0ae005a61c70d9d Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Tue, 28 Aug 2018 18:45:46 +0200 Subject: Added support for SHORT type as integer --- .../hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend | 2 +- .../InstanceModel2PartialInterpretation.xtend | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend index e44e9a1e..95be8433 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend @@ -107,7 +107,7 @@ class EAttributeMapper_RelationsOverTypes implements EAttributeMapper { override TypeDescriptor TypeOfRange(Ecore2Logic_Trace trace, EAttribute attribute) { if(attribute.EType instanceof EEnum) return enumMapper.TypeofEEnum(trace,attribute.EType as EEnum) - else if(attribute.EType.name.equals("EInt")) return LogicInt + else if(attribute.EType.name.equals("EInt") || attribute.EType.name.equals("EShort")) return LogicInt else if(attribute.EType.name.equals("EBoolean")) return LogicBool else if(attribute.EType.name.equals("EDouble") || attribute.EType.name.equals("EFloat")) return LogicReal 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 bd0f4ca4..8aaaacb5 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 @@ -163,6 +163,9 @@ class InstanceModel2PartialInterpretation { private def dispatch shortValue(Integer value, Set integers, Set reals, Set strings) { integers += value } + private def dispatch shortValue(Short value, Set integers, Set reals, Set strings) { + integers += Integer.valueOf(value) + } private def dispatch shortValue(Float value, Set integers, Set reals, Set strings) { reals += BigDecimal.valueOf(value) } @@ -199,6 +202,10 @@ class InstanceModel2PartialInterpretation { value.lookup(partialInterpretationTrace.primitiveValues.integerMap) } + dispatch protected def translateValue(Short value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { + Integer.valueOf(value).lookup(partialInterpretationTrace.primitiveValues.integerMap) + } + dispatch protected def translateValue(Double value, Ecore2Logic_Trace ecore2LogicTrace, Problem2PartialInterpretationTrace partialInterpretationTrace) { BigDecimal.valueOf(value).lookup(partialInterpretationTrace.primitiveValues.realMap) } -- cgit v1.2.3-54-g00ecf