py::class_<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>,std::shared_ptr<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>>>(m,"SymbolicQuantitativeCheckResult","Symbolic quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>,std::shared_ptr<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>>>(m,"SymbolicQuantitativeCheckResult","Symbolic quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>,std::shared_ptr<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>>>(m,"HybridQuantitativeCheckResult","Hybrid quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>,std::shared_ptr<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>>>(m,"HybridQuantitativeCheckResult","Hybrid quantitative model checking result",quantitativeCheckResult)
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>::getExplicitValueVector,"Get model checking result values for all states")
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>::getExplicitValueVector,"Get model checking result values for all states")
;
;
@ -95,7 +100,8 @@ void define_result(py::module& m) {
.def("get_values",[](storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalNumber>const&res){returnres.getValueVector();},"Get model checking result values for all states")
.def("get_values",[](storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalNumber>const&res){returnres.getValueVector();},"Get model checking result values for all states")
;
;
py::class_<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>,std::shared_ptr<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>>>(m,"SymbolicExactQuantitativeCheckResult","Symbolic exact quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>,std::shared_ptr<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>>>(m,"SymbolicExactQuantitativeCheckResult","Symbolic exact quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>,std::shared_ptr<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>>>(m,"HybridExactQuantitativeCheckResult","Symbolic exact hybrid quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>,std::shared_ptr<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>>>(m,"HybridExactQuantitativeCheckResult","Symbolic exact hybrid quantitative model checking result",quantitativeCheckResult)
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>::getExplicitValueVector,"Get model checking result values for all states")
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalNumber>::getExplicitValueVector,"Get model checking result values for all states")
;
;
@ -108,12 +114,13 @@ void define_result(py::module& m) {
.def("get_values",[](storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalFunction>const&res){returnres.getValueVector();},"Get model checking result values for all states")
.def("get_values",[](storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalFunction>const&res){returnres.getValueVector();},"Get model checking result values for all states")
;
;
py::class_<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>,std::shared_ptr<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>>>(m,"SymbolicParametricQuantitativeCheckResult","Symbolic parametric quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>,std::shared_ptr<storm::modelchecker::SymbolicQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>>>(m,"SymbolicParametricQuantitativeCheckResult","Symbolic parametric quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>,std::shared_ptr<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>>>(m,"HybridParametricQuantitativeCheckResult","Symbolic parametric hybrid quantitative model checking result",quantitativeCheckResult)
py::class_<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>,std::shared_ptr<storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>>>(m,"HybridParametricQuantitativeCheckResult","Symbolic parametric hybrid quantitative model checking result",quantitativeCheckResult)
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>::getExplicitValueVector,"Get model checking result values for all states")
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,storm::RationalFunction>::getExplicitValueVector,"Get model checking result values for all states")
;
;
m.def("create_filter_symbolic",&createFilterSymbolic<storm::dd::DdType::Sylvan,double>,"Creates a filter for the given states and a symbolic model",py::arg("model"),py::arg("states"));
m.def("create_filter_initial_states_sparse",&createFilterInitialStatesSparse<double>,"Create a filter for the initial states on a sparse model",py::arg("model"));
m.def("create_filter_initial_states_sparse",&createFilterInitialStatesSparse<double>,"Create a filter for the initial states on a sparse model",py::arg("model"));
m.def("create_filter_initial_states_symbolic",&createFilterInitialStatesSymbolic<storm::dd::DdType::Sylvan,double>,"Create a filter for the initial states on a symbolic model",py::arg("model"));
m.def("create_filter_initial_states_symbolic",&createFilterInitialStatesSymbolic<storm::dd::DdType::Sylvan,double>,"Create a filter for the initial states on a symbolic model",py::arg("model"));
@ -304,6 +304,9 @@ void define_symbolic_model(py::module& m, std::string vt_suffix) {
// Models with double numbers
// Models with double numbers
py::class_<SymbolicModel<DdType,double>,std::shared_ptr<SymbolicModel<DdType,double>>,ModelBase>model(m,("_"+prefixClassName+"Model").c_str(),"A probabilistic model where transitions are represented by doubles and saved in a symbolic representation");
py::class_<SymbolicModel<DdType,double>,std::shared_ptr<SymbolicModel<DdType,double>>,ModelBase>model(m,("_"+prefixClassName+"Model").c_str(),"A probabilistic model where transitions are represented by doubles and saved in a symbolic representation");
.def_property_readonly("reachable_states",&SymbolicModel<DdType,double>::getReachableStates,"reachable states as DD")
.def_property_readonly("initial_states",&SymbolicModel<DdType,double>::getInitialStates,"initial states as DD")
.def("get_states",[](SymbolicModel<DdType,double>const&model,storm::expressions::Expressionconst&expr){returnmodel.getStates(expr);},py::arg("expression"),"Get states that are described by the expression")
@ -331,6 +334,9 @@ void define_symbolic_model(py::module& m, std::string vt_suffix) {
py::class_<SymbolicModel<DdType,RationalFunction>,std::shared_ptr<SymbolicModel<DdType,RationalFunction>>,ModelBase>modelRatFunc(m,("_"+prefixParametricClassName+"Model").c_str(),"A probabilistic model where transitions are represented by rational functions and saved in a symbolic representation");
py::class_<SymbolicModel<DdType,RationalFunction>,std::shared_ptr<SymbolicModel<DdType,RationalFunction>>,ModelBase>modelRatFunc(m,("_"+prefixParametricClassName+"Model").c_str(),"A probabilistic model where transitions are represented by rational functions and saved in a symbolic representation");
.def_property_readonly("reachable_states",&SymbolicModel<DdType,RationalFunction>::getReachableStates,"reachable states as DD")
.def_property_readonly("initial_states",&SymbolicModel<DdType,RationalFunction>::getInitialStates,"initial states as DD")
.def("get_states",[](SymbolicModel<DdType,RationalFunction>const&model,storm::expressions::Expressionconst&expr){returnmodel.getStates(expr);},py::arg("expression"),"Get states that are described by the expression")