You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.9 KiB
74 lines
2.9 KiB
#include "src/modelchecker/CheckResult.h"
|
|
|
|
#include "src/modelchecker/ExplicitQualitativeCheckResult.h"
|
|
#include "src/modelchecker/ExplicitQuantitativeCheckResult.h"
|
|
|
|
#include "src/utility/macros.h"
|
|
#include "src/exceptions/InvalidOperationException.h"
|
|
|
|
namespace storm {
|
|
namespace modelchecker {
|
|
CheckResult& CheckResult::operator&=(CheckResult const& other) {
|
|
STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform logical 'and' on the two check results.");
|
|
}
|
|
|
|
CheckResult& CheckResult::operator|=(CheckResult const& other) {
|
|
STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform logical 'or' on the two check results.");
|
|
}
|
|
|
|
void CheckResult::complement() {
|
|
STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform logical 'not' on the check result.");
|
|
}
|
|
|
|
bool CheckResult::isExplicit() const {
|
|
return false;
|
|
}
|
|
|
|
bool CheckResult::isQuantitative() const {
|
|
return false;
|
|
}
|
|
|
|
bool CheckResult::isQualitative() const {
|
|
return false;
|
|
}
|
|
|
|
bool CheckResult::isResultForAllStates() const {
|
|
return false;
|
|
}
|
|
|
|
std::ostream& operator<<(std::ostream& out, CheckResult& checkResult) {
|
|
checkResult.writeToStream(out);
|
|
return out;
|
|
}
|
|
|
|
bool CheckResult::isExplicitQualitativeCheckResult() const {
|
|
return false;
|
|
}
|
|
|
|
bool CheckResult::isExplicitQuantitativeCheckResult() const {
|
|
return false;
|
|
}
|
|
|
|
ExplicitQualitativeCheckResult& CheckResult::asExplicitQualitativeCheckResult() {
|
|
return dynamic_cast<ExplicitQualitativeCheckResult&>(*this);
|
|
}
|
|
|
|
ExplicitQualitativeCheckResult const& CheckResult::asExplicitQualitativeCheckResult() const {
|
|
return dynamic_cast<ExplicitQualitativeCheckResult const&>(*this);
|
|
}
|
|
|
|
template<typename ValueType>
|
|
ExplicitQuantitativeCheckResult<ValueType>& CheckResult::asExplicitQuantitativeCheckResult() {
|
|
return dynamic_cast<ExplicitQuantitativeCheckResult<ValueType>&>(*this);
|
|
}
|
|
|
|
template<typename ValueType>
|
|
ExplicitQuantitativeCheckResult<ValueType> const& CheckResult::asExplicitQuantitativeCheckResult() const {
|
|
return dynamic_cast<ExplicitQuantitativeCheckResult<ValueType> const&>(*this);
|
|
}
|
|
|
|
// Explicitly instantiate the template functions.
|
|
template ExplicitQuantitativeCheckResult<double>& CheckResult::asExplicitQuantitativeCheckResult();
|
|
template ExplicitQuantitativeCheckResult<double> const& CheckResult::asExplicitQuantitativeCheckResult() const;
|
|
}
|
|
}
|