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){
//Since the process has been open successfully, it means that we have to close our fds
//Since the process has been open successfully, it means that we have to close our fds
STORM_LOG_DEBUG("Was not able to write "<<smt2Command<<"to the solver.");
}
if(expectSuccess){
if(expectSuccess){
autooutput=readSolverOutput();
autooutput=readSolverOutput();
STORM_LOG_THROW(output.size()==1,storm::exceptions::UnexpectedException,"expected a single success response after smt2 command "+smt2Command+". Got "+std::to_string(output.size())+" lines of output instead.");
STORM_LOG_THROW(output.size()==1,storm::exceptions::UnexpectedException,"expected a single success response after smt2 command "+smt2Command+". Got "+std::to_string(output.size())+" lines of output instead.");
@ -280,7 +295,7 @@ namespace storm {
returnstd::vector<std::string>();
returnstd::vector<std::string>();
}
}
if(bytesReadable==0&&solverOutput.back()!='\n'){
if(bytesReadable==0&&solverOutput.back()!='\n'){
STORM_LOG_DEBUG("Solver Output did not end with newline symbol (\\n). Since we assume that this should case, we will wait for more output from the solver");
STORM_LOG_DEBUG("Solver Output '"<<solverOutput<<"' did not end with newline symbol (\\n). Since we assume that this should be the case, we will wait for more output from the solver");
STORM_LOG_THROW(var==carl::Variable::NO_VARIABLE,storm::exceptions::InvalidArgumentException,"Tried to create a new variable but the name "<<variableName<<" is already in use.");
carl::VariableTypecarlVarType;
carl::VariableTypecarlVarType;
switch(sort){
switch(sort){
caseVariableSort::VS_BOOL:
caseVariableSort::VS_BOOL:
@ -163,6 +160,14 @@ namespace storm {
default:
default:
STORM_LOG_THROW(false,storm::exceptions::NotImplementedException,"The given variable sort is not implemented");
STORM_LOG_THROW(false,storm::exceptions::NotImplementedException,"The given variable sort is not implemented");
//STORM_LOG_THROW(var==carl::Variable::NO_VARIABLE, storm::exceptions::InvalidArgumentException, "Tried to create a new variable but the name " << variableName << " is already in use.");
if(var!=carl::Variable::NO_VARIABLE){
STORM_LOG_THROW(var.getType()==carlVarType,storm::exceptions::InvalidArgumentException,"Tried to create a new variable but the name "<<variableName<<" is already in use for a variable of a different sort.");