@ -50,7 +50,7 @@ namespace storm {
storm : : storage : : BitVector statesWithProbabilityGreater0 ( model . getNumberOfStates ( ) ) ;
/ / Get the backwards transition relation from the model to ease the search .
storm : : storage : : SparseMatrix < bool > backwardTransitions = model . getBackwardTransitions ( ) ;
storm : : storage : : SparseMatrix < T > backwardTransitions = model . getBackwardTransitions ( ) ;
/ / Add all psi states as the already satisfy the condition .
statesWithProbabilityGreater0 | = psiStates ;
@ -177,7 +177,7 @@ namespace storm {
* @ return A bit vector that represents all states with probability 0.
*/
template < typename T >
storm : : storage : : BitVector performProbGreater0E ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < bool > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates , bool useStepBound = false , uint_fast64_t maximalSteps = 0 ) {
storm : : storage : : BitVector performProbGreater0E ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < T > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates , bool useStepBound = false , uint_fast64_t maximalSteps = 0 ) {
/ / Prepare resulting bit vector .
storm : : storage : : BitVector statesWithProbabilityGreater0 ( model . getNumberOfStates ( ) ) ;
@ -245,7 +245,7 @@ namespace storm {
* @ return A bit vector that represents all states with probability 0.
*/
template < typename T >
storm : : storage : : BitVector performProb0A ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < bool > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
storm : : storage : : BitVector performProb0A ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < T > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
storm : : storage : : BitVector statesWithProbability0 = performProbGreater0E ( model , backwardTransitions , phiStates , psiStates ) ;
statesWithProbability0 . complement ( ) ;
return statesWithProbability0 ;
@ -264,7 +264,7 @@ namespace storm {
* @ return A bit vector that represents all states with probability 1.
*/
template < typename T >
storm : : storage : : BitVector performProb1E ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < bool > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
storm : : storage : : BitVector performProb1E ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < T > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
/ / Get some temporaries for convenience .
storm : : storage : : SparseMatrix < T > const & transitionMatrix = model . getTransitionMatrix ( ) ;
std : : vector < uint_fast64_t > const & nondeterministicChoiceIndices = model . getNondeterministicChoiceIndices ( ) ;
@ -338,7 +338,7 @@ namespace storm {
std : : pair < storm : : storage : : BitVector , storm : : storage : : BitVector > result ;
/ / Get the backwards transition relation from the model to ease the search .
storm : : storage : : SparseMatrix < bool > backwardTransitions = model . getBackwardTransitions ( ) ;
storm : : storage : : SparseMatrix < T > backwardTransitions = model . getBackwardTransitions ( ) ;
result . first = performProb0A ( model , backwardTransitions , phiStates , psiStates ) ;
result . second = performProb1E ( model , backwardTransitions , phiStates , psiStates ) ;
@ -360,7 +360,7 @@ namespace storm {
* @ return A bit vector that represents all states with probability 0.
*/
template < typename T >
storm : : storage : : BitVector performProbGreater0A ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < bool > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates , bool useStepBound = false , uint_fast64_t maximalSteps = 0 ) {
storm : : storage : : BitVector performProbGreater0A ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < T > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates , bool useStepBound = false , uint_fast64_t maximalSteps = 0 ) {
/ / Prepare resulting bit vector .
storm : : storage : : BitVector statesWithProbabilityGreater0 ( model . getNumberOfStates ( ) ) ;
@ -451,7 +451,7 @@ namespace storm {
* @ return A bit vector that represents all states with probability 0.
*/
template < typename T >
storm : : storage : : BitVector performProb0E ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < bool > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
storm : : storage : : BitVector performProb0E ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < T > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
storm : : storage : : BitVector statesWithProbability0 = performProbGreater0A ( model , backwardTransitions , phiStates , psiStates ) ;
statesWithProbability0 . complement ( ) ;
return statesWithProbability0 ;
@ -470,7 +470,7 @@ namespace storm {
* @ return A bit vector that represents all states with probability 0.
*/
template < typename T >
storm : : storage : : BitVector performProb1A ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < bool > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
storm : : storage : : BitVector performProb1A ( storm : : models : : AbstractNondeterministicModel < T > const & model , storm : : storage : : SparseMatrix < T > const & backwardTransitions , storm : : storage : : BitVector const & phiStates , storm : : storage : : BitVector const & psiStates ) {
/ / Get some temporaries for convenience .
storm : : storage : : SparseMatrix < T > const & transitionMatrix = model . getTransitionMatrix ( ) ;
std : : vector < uint_fast64_t > const & nondeterministicChoiceIndices = model . getNondeterministicChoiceIndices ( ) ;
@ -543,7 +543,7 @@ namespace storm {
std : : pair < storm : : storage : : BitVector , storm : : storage : : BitVector > result ;
/ / Get the backwards transition relation from the model to ease the search .
storm : : storage : : SparseMatrix < bool > backwardTransitions = model . getBackwardTransitions ( ) ;
storm : : storage : : SparseMatrix < T > backwardTransitions = model . getBackwardTransitions ( ) ;
result . first = performProb0E ( model , backwardTransitions , phiStates , psiStates ) ;
result . second = performProb1A ( model , backwardTransitions , phiStates , psiStates ) ;