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