84 EXPECT_EQ(4409ull, statesWithProbability01.first.getNonZeroCount());
85 EXPECT_EQ(1316ull, statesWithProbability01.second.getNonZeroCount());
89 EXPECT_EQ(1091ull, statesWithProbability01.first.getNonZeroCount());
90 EXPECT_EQ(4802ull, statesWithProbability01.second.getNonZeroCount());
94 EXPECT_EQ(5829ull, statesWithProbability01.first.getNonZeroCount());
95 EXPECT_EQ(1032ull, statesWithProbability01.second.getNonZeroCount());
113 EXPECT_EQ(0ull, statesWithProbability01.first.getNonZeroCount());
114 EXPECT_EQ(364ull, statesWithProbability01.second.getNonZeroCount());
118 EXPECT_EQ(0ull, statesWithProbability01.first.getNonZeroCount());
119 EXPECT_EQ(364ull, statesWithProbability01.second.getNonZeroCount());
134 EXPECT_EQ(77ull, statesWithProbability01.first.getNonZeroCount());
135 EXPECT_EQ(149ull, statesWithProbability01.second.getNonZeroCount());
139 EXPECT_EQ(74ull, statesWithProbability01.first.getNonZeroCount());
140 EXPECT_EQ(198ull, statesWithProbability01.second.getNonZeroCount());
144 EXPECT_EQ(94ull, statesWithProbability01.first.getNonZeroCount());
145 EXPECT_EQ(33ull, statesWithProbability01.second.getNonZeroCount());
149 EXPECT_EQ(83ull, statesWithProbability01.first.getNonZeroCount());
150 EXPECT_EQ(35ull, statesWithProbability01.second.getNonZeroCount());
163 ASSERT_NO_THROW(statesWithProbability01 =
165 model->getStates(
"collision_max_backoff")));
166 EXPECT_EQ(993ull, statesWithProbability01.first.getNonZeroCount());
167 EXPECT_EQ(16ull, statesWithProbability01.second.getNonZeroCount());
169 ASSERT_NO_THROW(statesWithProbability01 =
171 model->getStates(
"collision_max_backoff")));
172 EXPECT_EQ(993ull, statesWithProbability01.first.getNonZeroCount());
173 EXPECT_EQ(16ull, statesWithProbability01.second.getNonZeroCount());
180 std::shared_ptr<storm::models::sparse::Model<double>> model =
185 std::pair<storm::storage::BitVector, storm::storage::BitVector> statesWithProbability01;
189 model->getStates(
"observe0Greater1")));
190 EXPECT_EQ(4409ull, statesWithProbability01.first.getNumberOfSetBits());
191 EXPECT_EQ(1316ull, statesWithProbability01.second.getNumberOfSetBits());
195 model->getStates(
"observeIGreater1")));
196 EXPECT_EQ(1091ull, statesWithProbability01.first.getNumberOfSetBits());
197 EXPECT_EQ(4802ull, statesWithProbability01.second.getNumberOfSetBits());
201 model->getStates(
"observeOnlyTrueSender")));
202 EXPECT_EQ(5829ull, statesWithProbability01.first.getNumberOfSetBits());
203 EXPECT_EQ(1032ull, statesWithProbability01.second.getNumberOfSetBits());
209 std::shared_ptr<storm::models::sparse::Model<double>> model =
214 std::pair<storm::storage::BitVector, storm::storage::BitVector> statesWithProbability01;
216 ASSERT_NO_THROW(statesWithProbability01 =
219 EXPECT_EQ(0ull, statesWithProbability01.first.getNumberOfSetBits());
220 EXPECT_EQ(364ull, statesWithProbability01.second.getNumberOfSetBits());
222 ASSERT_NO_THROW(statesWithProbability01 =
225 EXPECT_EQ(0ull, statesWithProbability01.first.getNumberOfSetBits());
226 EXPECT_EQ(364ull, statesWithProbability01.second.getNumberOfSetBits());
236 model->getStates(
"all_coins_equal_0")));
237 EXPECT_EQ(77ull, statesWithProbability01.first.getNumberOfSetBits());
238 EXPECT_EQ(149ull, statesWithProbability01.second.getNumberOfSetBits());
242 model->getStates(
"all_coins_equal_0")));
243 EXPECT_EQ(74ull, statesWithProbability01.first.getNumberOfSetBits());
244 EXPECT_EQ(198ull, statesWithProbability01.second.getNumberOfSetBits());
248 model->getStates(
"all_coins_equal_1")));
249 EXPECT_EQ(94ull, statesWithProbability01.first.getNumberOfSetBits());
250 EXPECT_EQ(33ull, statesWithProbability01.second.getNumberOfSetBits());
254 model->getStates(
"all_coins_equal_1")));
255 EXPECT_EQ(83ull, statesWithProbability01.first.getNumberOfSetBits());
256 EXPECT_EQ(35ull, statesWithProbability01.second.getNumberOfSetBits());
266 model->getStates(
"collision_max_backoff")));
267 EXPECT_EQ(993ull, statesWithProbability01.first.getNumberOfSetBits());
268 EXPECT_EQ(16ull, statesWithProbability01.second.getNumberOfSetBits());
272 model->getStates(
"collision_max_backoff")));
273 EXPECT_EQ(993ull, statesWithProbability01.first.getNumberOfSetBits());
274 EXPECT_EQ(16ull, statesWithProbability01.second.getNumberOfSetBits());
std::shared_ptr< storm::models::symbolic::Model< Type, ValueType > > build(storm::Environment const &env, storm::prism::Program const &program, Options const &options=Options())
Translates the given program into a symbolic model (i.e.
std::pair< storm::storage::BitVector, storm::storage::BitVector > performProb01(storm::models::sparse::DeterministicModel< T > const &model, storm::storage::BitVector const &phiStates, storm::storage::BitVector const &psiStates)
Computes the sets of states that have probability 0 or 1, respectively, of satisfying phi until psi i...
std::pair< storm::storage::BitVector, storm::storage::BitVector > performProb01Max(storm::storage::SparseMatrix< T > const &transitionMatrix, std::vector< uint_fast64_t > const &nondeterministicChoiceIndices, storm::storage::SparseMatrix< T > const &backwardTransitions, storm::storage::BitVector const &phiStates, storm::storage::BitVector const &psiStates)
std::pair< storm::storage::BitVector, storm::storage::BitVector > performProb01Min(storm::storage::SparseMatrix< T > const &transitionMatrix, std::vector< uint_fast64_t > const &nondeterministicChoiceIndices, storm::storage::SparseMatrix< T > const &backwardTransitions, storm::storage::BitVector const &phiStates, storm::storage::BitVector const &psiStates)