Browse Source

added ostream for ShieldExpression

tempestpy_adaptions
Stefan Pranger 4 years ago
parent
commit
66a8e472e3
  1. 22
      src/storm/logic/ShieldExpression.cpp
  2. 6
      src/storm/logic/ShieldExpression.h

22
src/storm/logic/ShieldExpression.cpp

@ -1,5 +1,7 @@
#include "storm/logic/ShieldExpression.h" #include "storm/logic/ShieldExpression.h"
#include <iostream>
namespace storm { namespace storm {
namespace logic { namespace logic {
ShieldExpression::ShieldExpression() {} ShieldExpression::ShieldExpression() {}
@ -27,5 +29,25 @@ namespace storm {
double ShieldExpression::getValue() const { double ShieldExpression::getValue() const {
return value; return value;
} }
std::string ShieldExpression::typeToString() const {
switch(type) {
case storm::logic::ShieldingType::PostSafety: return "PostSafety";
case storm::logic::ShieldingType::PreSafety: return "PreSafety";
case storm::logic::ShieldingType::Optimal: return "Optimal";
}
}
std::string ShieldExpression::comparisonToString() const {
switch(comparison) {
case storm::logic::ShieldComparison::Absolute: return "gamma";
case storm::logic::ShieldComparison::Relative: return "lambda";
}
}
std::ostream& operator<<(std::ostream& out, ShieldExpression const& shieldExpression) {
out << "<" << shieldExpression.typeToString() << ", " << shieldExpression.comparisonToString() << "=" << std::to_string(shieldExpression.value) << ">";
return out;
}
} }
} }

6
src/storm/logic/ShieldExpression.h

@ -1,6 +1,7 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <string>
namespace storm { namespace storm {
namespace logic { namespace logic {
@ -25,6 +26,11 @@ namespace storm {
double getValue() const; double getValue() const;
std::string typeToString() const;
std::string comparisonToString() const;
friend std::ostream& operator<<(std::ostream& stream, ShieldExpression const& shieldExpression);
private: private:
ShieldingType type; ShieldingType type;
ShieldComparison comparison; ShieldComparison comparison;

Loading…
Cancel
Save