STORM_LOG_THROW(assignedValue>=intInfo.lowerBound,storm::exceptions::WrongFormatException,"The update "<<assignmentIt->getExpressionVariable().getName()<<" := "<<assignmentIt->getAssignedExpression()<<" leads to an out-of-bounds value ("<<assignedValue<<") for the variable '"<<assignmentIt->getExpressionVariable().getName()<<"'.");
STORM_LOG_THROW(assignedValue<=intInfo.upperBound,storm::exceptions::WrongFormatException,"The update "<<assignmentIt->getExpressionVariable().getName()<<" := "<<assignmentIt->getAssignedExpression()<<" leads to an out-of-bounds value ("<<assignedValue<<") for the variable '"<<assignmentIt->getExpressionVariable().getName()<<"'.");
STORM_LOG_THROW(assignedValue>=intInfo.lowerBound,storm::exceptions::WrongFormatException,"The update "<<assignmentIt->getLValue()<<" := "<<assignmentIt->getAssignedExpression()<<" leads to an out-of-bounds value ("<<assignedValue<<") for the variable '"<<assignmentIt->getExpressionVariable().getName()<<"'.");
STORM_LOG_THROW(assignedValue<=intInfo.upperBound,storm::exceptions::WrongFormatException,"The update "<<assignmentIt->getLValue()<<" := "<<assignmentIt->getAssignedExpression()<<" leads to an out-of-bounds value ("<<assignedValue<<") for the variable '"<<assignmentIt->getExpressionVariable().getName()<<"'.");
STORM_LOG_ASSERT(static_cast<int_fast64_t>(newState.getAsInt(intInfo.bitOffset,intInfo.bitWidth))+intInfo.lowerBound==assignedValue,"Writing to the bit vector bucket failed (read "<<newState.getAsInt(intInfo.bitOffset,intInfo.bitWidth)<<" but wrote "<<assignedValue<<").");
STORM_LOG_ASSERT(replacements.find(expression.getVariable())!=replacements.end(),"Unable to find array variable "<<expression<<" in array replacements.");
//STORM_LOG_THROW(index < arrayVarReplacements.size(), storm::exceptions::OutOfRangeException, "Array index " << index << " for variable " << expression << " is out of bounds.");
STORM_LOG_ASSERT(data.empty(),"VariableExpression of non-array variable should not be a subexpressions of array access expressions. However, the expression "<<expression<<" is.");
@ -242,7 +275,8 @@ namespace storm {
STORM_LOG_THROW(!data.empty(),storm::exceptions::NotSupportedException,"Unable to translate ValueArrayExpression to element expression since it does not seem to be within an array access expression.");
uint64_tindex=boost::any_cast<uint64_t>(data);
STORM_LOG_ASSERT(expression.size()->isIntegerLiteralExpression(),"unexpected kind of size expression of ValueArrayExpression ("<<expression.size()->toExpression()<<").");
STORM_LOG_THROW(index<static_cast<uint64_t>(expression.size()->evaluateAsInt()),storm::exceptions::UnexpectedException,"Out of bounds array access occured while accessing index "<<index<<" of expression "<<expression);
// STORM_LOG_THROW(index < static_cast<uint64_t>(expression.size()->evaluateAsInt()), storm::exceptions::OutOfRangeException, "Out of bounds array access occured while accessing index " << index << " of expression " << expression);
STORM_LOG_WARN("Ignoring length of constructorArrayExpression "<<expression<<" as it still contains variables.");
}else{
STORM_LOG_THROW(index<static_cast<uint64_t>(expression.size()->evaluateAsInt()),storm::exceptions::UnexpectedException,"Out of bounds array access occured while accessing index "<<index<<" of expression "<<expression);
// STORM_LOG_THROW(index < static_cast<uint64_t>(expression.size()->evaluateAsInt()), storm::exceptions::OutOfRangeException, "Out of bounds array access occured while accessing index " << index << " of expression " << expression);