From 329ac27dfa84e9a07760bea75b36476dddcf29a7 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 14 Jul 2020 10:45:03 +0200 Subject: Optimizations --- .../neighbourhood/PartialInterpretation2Hash.xtend | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend index ddf7d712..5da202eb 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2Hash.xtend @@ -1,7 +1,8 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood -import java.util.Map import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement +import java.util.Map +import org.eclipse.collections.api.factory.Maps class PartialInterpretation2Hash extends PartialInterpretation2NeighbourhoodRepresentation{ @@ -11,15 +12,22 @@ class PartialInterpretation2Hash extends PartialInterpretation2NeighbourhoodRepr override protected createLocalRepresentation(Map node2Representation, Map representation2Amount) { return new NeighbourhoodWithTraces( - representation2Amount.hashCode,node2Representation.mapValues[it.hashCode], + representation2Amount.hashCode,node2Representation.hashValues, null) } override protected createFurtherRepresentation(Map, Integer> nodeDescriptors, Map> node2Representation, NeighbourhoodWithTraces previous, boolean deepRepresentation) { return new NeighbourhoodWithTraces( nodeDescriptors.hashCode, - node2Representation.mapValues[it.hashCode], + node2Representation.hashValues, if(deepRepresentation) {previous} else {null}) } + private def hashValues(Map map) { + val hashedMap = Maps.mutable.ofInitialCapacity(map.size) + for (entry : map.entrySet) { + hashedMap.put(entry.key, entry.value.hashCode) + } + hashedMap + } } -- cgit v1.2.3-70-g09d2