Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
LongRunAverageRewardFormula.cpp
Go to the documentation of this file.
1
#include "
storm/logic/LongRunAverageRewardFormula.h
"
2
#include <boost/any.hpp>
3
#include <ostream>
4
5
#include "
storm/logic/FormulaVisitor.h
"
6
7
namespace
storm
{
8
namespace
logic {
9
LongRunAverageRewardFormula::LongRunAverageRewardFormula
(boost::optional<RewardAccumulation> rewardAccumulation) : rewardAccumulation(rewardAccumulation) {
10
// Intentionally left empty.
11
}
12
13
bool
LongRunAverageRewardFormula::isLongRunAverageRewardFormula
()
const
{
14
return
true
;
15
}
16
17
bool
LongRunAverageRewardFormula::isRewardPathFormula
()
const
{
18
return
true
;
19
}
20
21
bool
LongRunAverageRewardFormula::hasRewardAccumulation
()
const
{
22
return
rewardAccumulation.is_initialized();
23
}
24
25
RewardAccumulation
const
&
LongRunAverageRewardFormula::getRewardAccumulation
()
const
{
26
return
rewardAccumulation.get();
27
}
28
29
std::shared_ptr<LongRunAverageRewardFormula const>
LongRunAverageRewardFormula::stripRewardAccumulation
()
const
{
30
return
std::make_shared<LongRunAverageRewardFormula>();
31
}
32
33
boost::any
LongRunAverageRewardFormula::accept
(
FormulaVisitor
const
& visitor, boost::any
const
& data)
const
{
34
return
visitor.
visit
(*
this
, data);
35
}
36
37
std::ostream&
LongRunAverageRewardFormula::writeToStream
(std::ostream& out,
bool
/* allowParentheses */
)
const
{
38
// No parentheses necessary
39
out <<
"LRA"
;
40
if
(
hasRewardAccumulation
()) {
41
out <<
"["
<<
getRewardAccumulation
() <<
"]"
;
42
}
43
return
out;
44
}
45
46
}
// namespace logic
47
}
// namespace storm
FormulaVisitor.h
LongRunAverageRewardFormula.h
storm::logic::FormulaVisitor
Definition
FormulaVisitor.h:12
storm::logic::FormulaVisitor::visit
virtual boost::any visit(AtomicExpressionFormula const &f, boost::any const &data) const =0
storm::logic::LongRunAverageRewardFormula::isRewardPathFormula
virtual bool isRewardPathFormula() const override
Definition
LongRunAverageRewardFormula.cpp:17
storm::logic::LongRunAverageRewardFormula::isLongRunAverageRewardFormula
virtual bool isLongRunAverageRewardFormula() const override
Definition
LongRunAverageRewardFormula.cpp:13
storm::logic::LongRunAverageRewardFormula::stripRewardAccumulation
std::shared_ptr< LongRunAverageRewardFormula const > stripRewardAccumulation() const
Definition
LongRunAverageRewardFormula.cpp:29
storm::logic::LongRunAverageRewardFormula::hasRewardAccumulation
bool hasRewardAccumulation() const
Definition
LongRunAverageRewardFormula.cpp:21
storm::logic::LongRunAverageRewardFormula::writeToStream
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
Definition
LongRunAverageRewardFormula.cpp:37
storm::logic::LongRunAverageRewardFormula::getRewardAccumulation
RewardAccumulation const & getRewardAccumulation() const
Definition
LongRunAverageRewardFormula.cpp:25
storm::logic::LongRunAverageRewardFormula::LongRunAverageRewardFormula
LongRunAverageRewardFormula(boost::optional< RewardAccumulation > rewardAccumulation=boost::none)
Definition
LongRunAverageRewardFormula.cpp:9
storm::logic::LongRunAverageRewardFormula::accept
virtual boost::any accept(FormulaVisitor const &visitor, boost::any const &data) const override
Definition
LongRunAverageRewardFormula.cpp:33
storm::logic::RewardAccumulation
Definition
RewardAccumulation.h:8
storm
LabParser.cpp.
Definition
cli.cpp:18
src
storm
logic
LongRunAverageRewardFormula.cpp
Generated by
1.9.8