Fixed a bug that was not yet fixed for some reason...
Approximation is now also used if a non-linear function is detected. This is a quick 'solution' to allow functions of the form p times q.
Former-commit-id: 2a30959c21
//TODO: Currently we are not able to detect functions of the form p*q correctly as these functions are not linear but approximation is still applicable.
//This is just a quick fix to work with such models anyway.
if(!this->isApproximationApplicable){
STORM_LOG_ERROR("There are non-linear functions that occur in the given model. Approximation is still correct for functions that are linear w.r.t. a single parameter (assuming the remaining parameters are constants), e.g., p*q is okay. Currently, the implementation is not able to validate this..");
this->isApproximationApplicable=true;
}
//Check if the approximation and the sampling model needs to be computed
STORM_LOG_WARN_COND((!storm::settings::regionSettings().doApprox()||this->isApproximationApplicable),"the approximation is only correct if the model has only linear functions. As this is not the case, approximation is deactivated");
STORM_LOG_WARN_COND((!storm::settings::regionSettings().doApprox()||this->isApproximationApplicable),"the approximation is only correct if the model has only linear functions (more precisely: linear in a single parameter, i.e., functions like p*q are okay). As this is not the case, approximation is deactivated");