11 changed files with 162 additions and 16 deletions
-
6src/storm/logic/BoundedUntilFormula.cpp
-
6src/storm/logic/CloneVisitor.cpp
-
22src/storm/logic/CumulativeRewardFormula.cpp
-
9src/storm/logic/CumulativeRewardFormula.h
-
13src/storm/logic/EventuallyFormula.cpp
-
8src/storm/logic/EventuallyFormula.h
-
47src/storm/logic/RewardAccumulation.cpp
-
24src/storm/logic/RewardAccumulation.h
-
20src/storm/logic/TimeBoundType.h
-
10src/storm/logic/TotalRewardFormula.cpp
-
13src/storm/logic/TotalRewardFormula.h
@ -0,0 +1,47 @@ |
|||||
|
#include "storm/logic/RewardAccumulation.h"
|
||||
|
|
||||
|
namespace storm { |
||||
|
namespace logic { |
||||
|
|
||||
|
RewardAccumulation::RewardAccumulation(bool steps, bool time, bool exit) : steps(steps), time(time), exit(exit){ |
||||
|
// Intentionally left empty
|
||||
|
} |
||||
|
|
||||
|
bool RewardAccumulation::isStepsSet() const { |
||||
|
return steps; |
||||
|
} |
||||
|
|
||||
|
bool RewardAccumulation::isTimeSet() const { |
||||
|
return time; |
||||
|
} |
||||
|
|
||||
|
bool RewardAccumulation::isExitSet() const { |
||||
|
return exit; |
||||
|
} |
||||
|
|
||||
|
std::ostream& operator<<(std::ostream& out, RewardAccumulation const& acc) { |
||||
|
bool hasEntry = false; |
||||
|
if (acc.isStepsSet()) { |
||||
|
out << "steps"; |
||||
|
hasEntry = true; |
||||
|
} |
||||
|
if (acc.isTimeSet()) { |
||||
|
if (hasEntry) { |
||||
|
out << ", "; |
||||
|
} |
||||
|
out << "time"; |
||||
|
hasEntry = true; |
||||
|
} |
||||
|
if (acc.isExitSet()) { |
||||
|
if (hasEntry) { |
||||
|
out << ", "; |
||||
|
} |
||||
|
out << "exit"; |
||||
|
hasEntry = true; |
||||
|
} |
||||
|
|
||||
|
return out; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
#pragma once |
||||
|
#include <iostream> |
||||
|
|
||||
|
namespace storm { |
||||
|
namespace logic { |
||||
|
|
||||
|
class RewardAccumulation { |
||||
|
public: |
||||
|
RewardAccumulation(bool steps, bool time, bool exit); |
||||
|
RewardAccumulation(RewardAccumulation const& other) = default; |
||||
|
|
||||
|
bool isStepsSet() const; // If set, choice rewards and transition rewards are accumulated upon taking the transition |
||||
|
bool isTimeSet() const; // If set, state rewards are accumulated over time (assuming 0 time passes in discrete-time model states) |
||||
|
bool isExitSet() const; // If set, state rewards are accumulated upon exiting the state |
||||
|
|
||||
|
private: |
||||
|
bool time, steps, exit; |
||||
|
}; |
||||
|
|
||||
|
std::ostream& operator<<(std::ostream& out, RewardAccumulation const& acc); |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
Reference in new issue
xxxxxxxxxx