Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SignatureRefiner.cpp
Go to the documentation of this file.
2
4
7
8namespace storm {
9namespace dd {
10namespace bisimulation {
11
12template<storm::dd::DdType DdType, typename ValueType>
14 std::set<storm::expressions::Variable> const& stateRowVariables,
15 std::set<storm::expressions::Variable> const& stateColumnVariables, bool shiftStateVariables,
16 std::set<storm::expressions::Variable> const& nondeterminismVariables)
17 : manager(&manager) {
18 storm::dd::Bdd<DdType> nonBlockVariablesCube = manager.getBddOne();
19 storm::dd::Bdd<DdType> nondeterminismVariablesCube = manager.getBddOne();
20 for (auto const& var : nondeterminismVariables) {
21 auto cube = manager.getMetaVariable(var).getCube();
22 nonBlockVariablesCube &= cube;
23 nondeterminismVariablesCube &= cube;
24 }
25 for (auto const& var : stateRowVariables) {
26 auto cube = manager.getMetaVariable(var).getCube();
27 nonBlockVariablesCube &= cube;
28 }
29
30 internalRefiner = std::make_unique<InternalSignatureRefiner<DdType, ValueType>>(
31 manager, blockVariable, shiftStateVariables ? stateColumnVariables : stateRowVariables, nondeterminismVariablesCube, nonBlockVariablesCube,
32 InternalSignatureRefinerOptions(shiftStateVariables));
33}
34
35template<storm::dd::DdType DdType, typename ValueType>
37 Signature<DdType, ValueType> const& signature) {
38 Partition<DdType, ValueType> result = internalRefiner->refine(oldPartition, signature);
39 return result;
40}
41
43
47
48} // namespace bisimulation
49} // namespace dd
50} // namespace storm
SignatureRefiner(storm::dd::DdManager< DdType > const &manager, storm::expressions::Variable const &blockVariable, std::set< storm::expressions::Variable > const &stateRowVariables, std::set< storm::expressions::Variable > const &stateColumnVariables, bool shiftStateVariables, std::set< storm::expressions::Variable > const &nondeterminismVariables=std::set< storm::expressions::Variable >())
Partition< DdType, ValueType > refine(Partition< DdType, ValueType > const &oldPartition, Signature< DdType, ValueType > const &signature)
LabParser.cpp.
Definition cli.cpp:18