STORM_LOG_THROW(!useCarlExpressions,storm::exceptions::IllegalArgumentException,"Tried to use carl expressions but storm is not linked with CARL");
STORM_LOG_THROW(!useCarlExpressions,storm::exceptions::IllegalArgumentException,"Tried to use carl expressions but storm is not linked with CARL");
#endif
#endif
@ -50,7 +50,7 @@ namespace storm {
init();
init();
}
}
Smt2SmtSolver::~Smt2SmtSolver(){
SmtlibSmtSolver::~SmtlibSmtSolver(){
writeCommand("( exit )",false);//do not wait for success because it does not matter at this point and may cause problems if the solver is not running properly
writeCommand("( exit )",false);//do not wait for success because it does not matter at this point and may cause problems if the solver is not running properly
#ifndef WINDOWS
#ifndef WINDOWS
if(processIdOfSolver!=0){
if(processIdOfSolver!=0){
@ -63,32 +63,32 @@ namespace storm {
#endif
#endif
}
}
voidSmt2SmtSolver::push(){
voidSmtlibSmtSolver::push(){
expressionAdapter->increaseScope();
expressionAdapter->increaseScope();
writeCommand("( push 1 ) ",true);
writeCommand("( push 1 ) ",true);
}
}
voidSmt2SmtSolver::pop(){
voidSmtlibSmtSolver::pop(){
expressionAdapter->decreaseScope();
expressionAdapter->decreaseScope();
writeCommand("( pop 1 ) ",true);
writeCommand("( pop 1 ) ",true);
}
}
voidSmt2SmtSolver::pop(uint_fast64_tn){
voidSmtlibSmtSolver::pop(uint_fast64_tn){
expressionAdapter->decreaseScope(n);
expressionAdapter->decreaseScope(n);
writeCommand("( pop "+std::to_string(n)+" ) ",true);
writeCommand("( pop "+std::to_string(n)+" ) ",true);
}
}
voidSmt2SmtSolver::reset(){
voidSmtlibSmtSolver::reset(){
STORM_LOG_THROW(false,storm::exceptions::NotImplementedException,"functionality not (yet) implemented");
STORM_LOG_THROW(false,storm::exceptions::NotImplementedException,"functionality not (yet) implemented");
STORM_LOG_THROW((guard.getType()==carl::VariableType::VT_BOOL),storm::exceptions::IllegalArgumentException,"Tried to add a guarded constraint, but the guard is not of type bool.");
STORM_LOG_THROW((guard.getType()==carl::VariableType::VT_BOOL),storm::exceptions::IllegalArgumentException,"Tried to add a guarded constraint, but the guard is not of type bool.");
//if some of the occurring variables are not declared yet, we will have to (including the guard!).
//if some of the occurring variables are not declared yet, we will have to (including the guard!).
STORM_LOG_THROW((variable.getType()==carl::VariableType::VT_BOOL),storm::exceptions::IllegalArgumentException,"Tried to add a constraint that consists of a non-boolean variable.");
STORM_LOG_THROW((variable.getType()==carl::VariableType::VT_BOOL),storm::exceptions::IllegalArgumentException,"Tried to add a constraint that consists of a non-boolean variable.");
STORM_LOG_THROW(guard.getType()==carl::VariableType::VT_BOOL,storm::exceptions::IllegalArgumentException,"Tried to add a constraint to the solver whose guard is not of type bool");
STORM_LOG_THROW(guard.getType()==carl::VariableType::VT_BOOL,storm::exceptions::IllegalArgumentException,"Tried to add a constraint to the solver whose guard is not of type bool");
STORM_LOG_THROW(variable.getType()==carl::VariableType::VT_BOOL,storm::exceptions::IllegalArgumentException,"Tried to add a constraint to the solver that is a non boolean variable. Only boolean variables are allowed");
STORM_LOG_THROW(variable.getType()==carl::VariableType::VT_BOOL,storm::exceptions::IllegalArgumentException,"Tried to add a constraint to the solver that is a non boolean variable. Only boolean variables are allowed");