12template<
typename ValueType,
typename RewardModelType>
19template<
typename ValueType,
typename RewardModelType>
26template<
typename ValueType,
typename RewardModelType>
29 std::vector<ValueType>
const* secondValue,
30 std::vector<uint_fast64_t>
const* stateColoring, std::vector<std::string>
const* colors,
31 std::vector<uint_fast64_t>* scheduler,
bool finalizeOutput)
const {
36 auto rowIt = this->getTransitionMatrix().begin();
37 for (uint_fast64_t i = 0; i < this->getTransitionMatrix().getRowCount(); ++i, ++rowIt) {
39 std::string arrowOrigin = std::to_string(i);
40 if (this->hasChoiceLabeling()) {
41 arrowOrigin =
"\"" + arrowOrigin +
"c\"";
42 outStream <<
"\t" << arrowOrigin <<
" [shape = \"point\"]\n";
43 outStream <<
"\t" << i <<
" -> " << arrowOrigin <<
" [label= \"{";
45 outStream <<
"}\"];\n";
49 for (
auto const& transition : row) {
50 if (transition.getValue() != storm::utility::zero<ValueType>()) {
51 if (subsystem ==
nullptr || subsystem->
get(transition.getColumn())) {
52 outStream <<
"\t" << arrowOrigin <<
" -> " << transition.getColumn() <<
" [ label= \"" << transition.getValue() <<
"\" ];\n";
63template class DeterministicModel<double>;
65template class DeterministicModel<storm::RationalNumber>;
67template class DeterministicModel<double, storm::models::sparse::StandardRewardModel<storm::Interval>>;
68template class DeterministicModel<storm::RationalFunction>;
69template class DeterministicModel<storm::Interval>;
DeterministicModel(ModelType modelType, storm::storage::sparse::ModelComponents< ValueType, RewardModelType > const &components)
Constructs a model from the given data.
virtual void writeDotToStream(std::ostream &outStream, size_t maxWidthLabel=30, bool includeLabeling=true, storm::storage::BitVector const *subsystem=nullptr, std::vector< ValueType > const *firstValue=nullptr, std::vector< ValueType > const *secondValue=nullptr, std::vector< uint_fast64_t > const *stateColoring=nullptr, std::vector< std::string > const *colors=nullptr, std::vector< uint_fast64_t > *scheduler=nullptr, bool finalizeOutput=true) const override
Base class for all sparse models.
CRewardModelType RewardModelType
virtual void writeDotToStream(std::ostream &outStream, size_t maxWidthLabel=30, bool includeLabeling=true, storm::storage::BitVector const *subsystem=nullptr, std::vector< ValueType > const *firstValue=nullptr, std::vector< ValueType > const *secondValue=nullptr, std::vector< uint64_t > const *stateColoring=nullptr, std::vector< std::string > const *colors=nullptr, std::vector< uint_fast64_t > *scheduler=nullptr, bool finalizeOutput=true) const
Exports the model to the dot-format and prints the result to the given stream.
A bit vector that is internally represented as a vector of 64-bit values.
bool get(uint_fast64_t index) const
Retrieves the truth value of the bit at the given index and performs a bound check.
This class represents a number of consecutive rows of the matrix.
void outputFixedWidth(std::ostream &stream, Container const &output, size_t maxWidth=30)
Output list of strings with linebreaks according to fixed width.