Topological solvers: Added a warning for numerical issues triggered in cases where in non-exact mode a selfloop probability is very close to 1 but not equal to 1
STORM_LOG_THROW(storm::utility::isZero(xi),storm::exceptions::InvalidOperationException,"The equation system has no solution.");
}else{
xi/=denominator;
}
STORM_LOG_WARN_COND_DEBUG(storm::NumberTraits<ValueType>::IsExact||!storm::utility::isAlmostZero(denominator)||storm::utility::isZero(denominator),"State "<<sccState<<" has a selfloop with probability '1-("<<denominator<<")'. This could be an indication for numerical issues.");
if(storm::utility::isZero(denominator)){
STORM_LOG_THROW(storm::utility::isZero(xi),storm::exceptions::InvalidOperationException,"The equation system has no solution.");
STORM_LOG_WARN_COND_DEBUG(storm::NumberTraits<ValueType>::IsExact||!storm::utility::isAlmostZero(denominator)||storm::utility::isZero(denominator),"State "<<sccState<<" has a selfloop with probability '1-("<<denominator<<")'. This could be an indication for numerical issues.");
if(storm::utility::isZero(denominator)){
if(storm::utility::isZero(denominator)){
// In this case we have a selfloop on this state. This can never an optimal choice:
// In this case we have a selfloop on this state. This can never an optimal choice:
// When minimizing, we are looking for the largest fixpoint (which will never be attained by this action)
// When minimizing, we are looking for the largest fixpoint (which will never be attained by this action)