aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend')
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend8
1 files changed, 6 insertions, 2 deletions
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
index 65fdcfdf..e5c443f6 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
@@ -279,10 +279,14 @@ class Logic2AlloyLanguageMapper {
279 it.number = typeMapper.getUndefinedSupertypeScope(config.typeScopes.maxNewElements,trace) 279 it.number = typeMapper.getUndefinedSupertypeScope(config.typeScopes.maxNewElements,trace)
280 it.exactly = (config.typeScopes.maxNewElements == config.typeScopes.minNewElements) 280 it.exactly = (config.typeScopes.maxNewElements == config.typeScopes.minNewElements)
281 ] 281 ]
282 if(config.typeScopes.maxIntScope == LogicSolverConfiguration::Unlimited) throw new UnsupportedOperationException( 282 if(config.typeScopes.maxNewIntegers == LogicSolverConfiguration::Unlimited) throw new UnsupportedOperationException(
283 '''An integer scope have to be specified for Alloy!''') 283 '''An integer scope have to be specified for Alloy!''')
284 it.typeScopes += createALSIntScope => [ 284 it.typeScopes += createALSIntScope => [
285 number = Integer.SIZE-Integer.numberOfLeadingZeros(config.typeScopes.maxIntScope) 285 val knownIntegerMax = config.typeScopes.knownIntegers.max
286 val knownIntegerMin = config.typeScopes.knownIntegers.min
287 val needNewPlaces = Math.max(knownIntegerMax - knownIntegerMin - config.typeScopes.maxNewIntegers,0)
288 val maxAbsoluteValue = Math.max(Math.abs(knownIntegerMax)+needNewPlaces+1/2, Math.abs(knownIntegerMin)+needNewPlaces/2)
289 number = Integer.SIZE-Integer.numberOfLeadingZeros(maxAbsoluteValue)
286 ] 290 ]
287// for(definedScope : config.typeScopes.allDefinedScope) { 291// for(definedScope : config.typeScopes.allDefinedScope) {
288// it.typeScopes += createALSSigScope => [ 292// it.typeScopes += createALSSigScope => [