Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
EliminatorBase.h
Go to the documentation of this file.
1#pragma once
2
4
6
7namespace storm {
8namespace solver {
9namespace stateelimination {
10
12
13template<typename ValueType, ScalingMode Mode>
15 public:
17 typedef typename FlexibleRowType::iterator FlexibleRowIterator;
18
20 virtual ~EliminatorBase() = default;
21
22 void eliminate(uint64_t row, uint64_t column, bool clearRow);
23
24 void eliminateLoop(uint64_t row);
25
26 // Provide virtual methods that can be customized by subclasses to govern side-effect of the elimination.
27 virtual void updateValue(storm::storage::sparse::state_type const& state, ValueType const& loopProbability);
28 virtual void updatePredecessor(storm::storage::sparse::state_type const& predecessor, ValueType const& probability,
30 virtual void updatePriority(storm::storage::sparse::state_type const& state);
32 virtual bool isFilterPredecessor() const;
33
34 protected:
37};
38
39} // namespace stateelimination
40} // namespace solver
41} // namespace storm
void eliminate(uint64_t row, uint64_t column, bool clearRow)
virtual void updateValue(storm::storage::sparse::state_type const &state, ValueType const &loopProbability)
storm::storage::FlexibleSparseMatrix< ValueType > & transposedMatrix
virtual void updatePriority(storm::storage::sparse::state_type const &state)
storm::storage::FlexibleSparseMatrix< ValueType >::row_type FlexibleRowType
storm::storage::FlexibleSparseMatrix< ValueType > & matrix
virtual void updatePredecessor(storm::storage::sparse::state_type const &predecessor, ValueType const &probability, storm::storage::sparse::state_type const &state)
virtual bool filterPredecessor(storm::storage::sparse::state_type const &state)
The flexible sparse matrix is used during state elimination.
std::vector< storm::storage::MatrixEntry< index_type, value_type > > row_type
LabParser.cpp.
Definition cli.cpp:18