25 EXPECT_EQ(13ul, model->getNumberOfStates());
26 EXPECT_EQ(20ul, model->getNumberOfTransitions());
30 EXPECT_EQ(677ul, model->getNumberOfStates());
31 EXPECT_EQ(867ul, model->getNumberOfTransitions());
35 EXPECT_EQ(8607ul, model->getNumberOfStates());
36 EXPECT_EQ(15113ul, model->getNumberOfTransitions());
40 EXPECT_EQ(273ul, model->getNumberOfStates());
41 EXPECT_EQ(397ul, model->getNumberOfTransitions());
45 EXPECT_EQ(1728ul, model->getNumberOfStates());
46 EXPECT_EQ(2505ul, model->getNumberOfTransitions());
53 EXPECT_EQ(276ul, model->getNumberOfStates());
54 EXPECT_EQ(1120ul, model->getNumberOfTransitions());
58 EXPECT_EQ(3478ul, model->getNumberOfStates());
59 EXPECT_EQ(14639ul, model->getNumberOfTransitions());
63 EXPECT_EQ(12ul, model->getNumberOfStates());
64 EXPECT_EQ(22ul, model->getNumberOfTransitions());
68 EXPECT_EQ(810ul, model->getNumberOfStates());
69 EXPECT_EQ(3699ul, model->getNumberOfTransitions());
73 EXPECT_EQ(66ul, model->getNumberOfStates());
74 EXPECT_EQ(189ul, model->getNumberOfTransitions());
80 EXPECT_EQ(169ul, model->getNumberOfStates());
81 EXPECT_EQ(436ul, model->getNumberOfTransitions());
85 EXPECT_EQ(364ul, model->getNumberOfStates());
86 EXPECT_EQ(654ul, model->getNumberOfTransitions());
90 EXPECT_EQ(272ul, model->getNumberOfStates());
91 EXPECT_EQ(492ul, model->getNumberOfTransitions());
95 EXPECT_EQ(1038ul, model->getNumberOfStates());
96 EXPECT_EQ(1282ul, model->getNumberOfTransitions());
100 EXPECT_EQ(4093ul, model->getNumberOfStates());
101 EXPECT_EQ(5585ul, model->getNumberOfTransitions());
105 EXPECT_EQ(37ul, model->getNumberOfStates());
106 EXPECT_EQ(59ul, model->getNumberOfTransitions());
111 EXPECT_EQ(9ul, model->getNumberOfStates());
112 EXPECT_EQ(9ul, model->getNumberOfTransitions());
116 EXPECT_EQ(36ul, model->getNumberOfStates());
117 EXPECT_EQ(66ul, model->getNumberOfTransitions());
118 EXPECT_EQ(36ul, model->getInitialStates().getNumberOfSetBits());
122 EXPECT_EQ(5ul, model->getNumberOfStates());
123 EXPECT_EQ(24ul, model->getNumberOfTransitions());
124 EXPECT_EQ(12ul, model->getNumberOfChoices());
131 EXPECT_EQ(5ul, model->getNumberOfStates());
132 EXPECT_EQ(8ul, model->getNumberOfTransitions());
138 EXPECT_EQ(5ul, model->getNumberOfStates());
139 EXPECT_EQ(13ul, model->getNumberOfTransitions());
145 EXPECT_EQ(12ul, model->getNumberOfStates());
146 EXPECT_EQ(14ul, model->getNumberOfTransitions());
155 EXPECT_EQ(7ul, model->getNumberOfStates());
156 EXPECT_EQ(17ul, model->getNumberOfTransitions());
160 EXPECT_EQ(3ul, model->getNumberOfStates());
161 EXPECT_EQ(6ul, model->getNumberOfTransitions());
166 EXPECT_EQ(15ul, model->getNumberOfStates());
167 EXPECT_EQ(91ul, model->getNumberOfTransitions());
172 EXPECT_EQ(126ul, model->getNumberOfStates());
173 EXPECT_EQ(547ul, model->getNumberOfTransitions());
216 std::shared_ptr<storm::models::sparse::Model<double>> model = builder.build();
217 auto lookup = builder.exportExplicitStateLookup();
218 auto svar = program.
getModules()[0].getIntegerVariable(
"s").getExpressionVariable();
219 auto dvar = program.
getModules()[0].getIntegerVariable(
"d").getExpressionVariable();
221 EXPECT_EQ(model->getNumberOfStates(), lookup.lookup({{svar, manager.integer(1)}, {dvar, manager.integer(2)}}));
222 EXPECT_TRUE(model->getNumberOfStates() > lookup.lookup({{svar, manager.integer(7)}, {dvar, manager.integer(2)}}));
223 EXPECT_EQ(1ul, model->getLabelsOfState(lookup.lookup({{svar, manager.integer(7)}, {dvar, manager.integer(2)}})).
count(
"two"));
243 std::shared_ptr<storm::generator::StateValuationFunctionMask<double>> mask_object =
244 std::make_shared<storm::generator::StateValuationFunctionMask<double>>(
trivial_true_mask);
245 std::shared_ptr<storm::generator::PrismNextStateGenerator<double>> generator =
246 std::make_shared<storm::generator::PrismNextStateGenerator<double>>(program, generatorOptions, mask_object);
249 std::shared_ptr<storm::models::sparse::Model<double>> model = builder.build();
250 EXPECT_EQ(13ul, model->getNumberOfStates());
251 EXPECT_EQ(48ul, model->getNumberOfTransitions());
253 mask_object = std::make_shared<storm::generator::StateValuationFunctionMask<double>>(
trivial_false_mask);
254 generator = std::make_shared<storm::generator::PrismNextStateGenerator<double>>(program, generatorOptions, mask_object);
257 model = builder.build();
258 EXPECT_EQ(1ul, model->getNumberOfStates());
259 EXPECT_EQ(1ul, model->getNumberOfTransitions());
261 mask_object = std::make_shared<storm::generator::StateValuationFunctionMask<double>>(
only_first_action_mask);
262 generator = std::make_shared<storm::generator::PrismNextStateGenerator<double>>(program, generatorOptions, mask_object);
265 model = builder.build();
266 EXPECT_EQ(13ul, model->getNumberOfStates());
267 EXPECT_EQ(20ul, model->getNumberOfTransitions());
std::pair< storm::RationalNumber, storm::RationalNumber > count(std::vector< storm::storage::BitVector > const &origSets, std::vector< storm::storage::BitVector > const &intersects, std::vector< storm::storage::BitVector > const &intersectsInfo, storm::RationalNumber val, bool plus, uint64_t remdepth)