36 lines
1.5 KiB
36 lines
1.5 KiB
#include "src/solver/stateelimination/StateEliminator.h"
|
|
|
|
#include "src/adapters/CarlAdapter.h"
|
|
|
|
#include "src/storage/BitVector.h"
|
|
|
|
#include "src/utility/stateelimination.h"
|
|
#include "src/utility/macros.h"
|
|
#include "src/utility/constants.h"
|
|
#include "src/utility/macros.h"
|
|
#include "src/exceptions/InvalidStateException.h"
|
|
|
|
namespace storm {
|
|
namespace solver {
|
|
namespace stateelimination {
|
|
|
|
using namespace storm::utility::stateelimination;
|
|
|
|
template<typename ValueType>
|
|
StateEliminator<ValueType>::StateEliminator(storm::storage::FlexibleSparseMatrix<ValueType>& transitionMatrix, storm::storage::FlexibleSparseMatrix<ValueType>& backwardTransitions) : EliminatorBase<ValueType, ScalingMode::DivideOneMinus>(transitionMatrix, backwardTransitions) {
|
|
// Intentionally left empty.
|
|
}
|
|
|
|
template<typename ValueType>
|
|
void StateEliminator<ValueType>::eliminateState(storm::storage::sparse::state_type state, bool removeForwardTransitions) {
|
|
STORM_LOG_TRACE("Eliminating state " << state << ".");
|
|
this->eliminate(state, state, removeForwardTransitions);
|
|
}
|
|
|
|
template class StateEliminator<double>;
|
|
template class StateEliminator<storm::RationalNumber>;
|
|
template class StateEliminator<storm::RationalFunction>;
|
|
|
|
} // namespace stateelimination
|
|
} // namespace storage
|
|
} // namespace storm
|