STORM_LOG_THROW(count==childNames.size(),storm::exceptions::WrongFormatException,"Voting gate number "<<count<<" does not correspond to number of children "<<childNames.size()<<"in line "<<lineNo<<".");
STORM_LOG_THROW(count==childNames.size(),storm::exceptions::WrongFormatException,"Voting gate number "<<count<<" does not correspond to number of children "<<childNames.size()<<"in line "<<lineNo<<".");
STORM_LOG_THROW(distribution==Distribution::None,storm::exceptions::WrongFormatException,"A different distribution was already defined for this basic element.");
STORM_LOG_THROW(distribution==Distribution::None,storm::exceptions::WrongFormatException,"A different distribution was already defined for this basic element.");
firstValDistribution=result.second;
firstValDistribution=result.second;
distribution=Distribution::Constant;
distribution=Distribution::Constant;
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"Constant distribution is not supported.");
}
}
// Exponential distribution
// Exponential distribution
result=parseValue("lambda",line,valueParser);
result=parseValue("lambda",line,valueParser);
if(result.first){
if(result.first){
STORM_LOG_THROW(distribution==Distribution::None,storm::exceptions::WrongFormatException,"A different distribution was already defined for this basic element.");
STORM_LOG_THROW(distribution==Distribution::None||distribution==Distribution::Erlang,storm::exceptions::WrongFormatException,"A different distribution was already defined for this basic element.");
firstValDistribution=result.second;
firstValDistribution=result.second;
distribution=Distribution::Exponential;
if(distribution==Distribution::None){
distribution=Distribution::Exponential;
}
}
// Erlang distribution
result=parseValue("phases",line,valueParser);
if(result.first){
STORM_LOG_THROW(distribution==Distribution::None||distribution==Distribution::Exponential,storm::exceptions::WrongFormatException,"A different distribution was already defined for this basic element.");
secondValDistribution=result.second;
distribution=Distribution::Erlang;
}
}
// Weibull distribution
// Weibull distribution
result=parseValue("rate",line,valueParser);
result=parseValue("rate",line,valueParser);
@ -263,10 +271,14 @@ namespace storm {
STORM_LOG_WARN("Restoration is not supported and will be ignored.");
STORM_LOG_WARN("Restoration is not supported and will be ignored.");