@ -42,8 +54,12 @@ void define_modelchecking(py::module& m) {
;
;
// Model checking
// Model checking
m.def("_model_checking_sparse_engine",&modelCheckingSparseEngine<double>,"Perform model checking",py::arg("model"),py::arg("task"));
m.def("_parametric_model_checking_sparse_engine",&modelCheckingSparseEngine<storm::RationalFunction>,"Perform parametric model checking",py::arg("model"),py::arg("task"));
m.def("_model_checking_sparse_engine",&modelCheckingSparseEngine<double>,"Perform model checking using the sparse engine",py::arg("model"),py::arg("task"));
m.def("_parametric_model_checking_sparse_engine",&modelCheckingSparseEngine<storm::RationalFunction>,"Perform parametric model checking using the sparse engine",py::arg("model"),py::arg("task"));
m.def("_model_checking_dd_engine",&modelCheckingDdEngine<storm::dd::DdType::Sylvan,double>,"Perform model checking using the dd engine",py::arg("model"),py::arg("task"));
m.def("_parametric_model_checking_dd_engine",&modelCheckingDdEngine<storm::dd::DdType::Sylvan,storm::RationalFunction>,"Perform parametric model checking using the dd engine",py::arg("model"),py::arg("task"));
m.def("_model_checking_hybrid_engine",&modelCheckingHybridEngine<storm::dd::DdType::Sylvan,double>,"Perform model checking using the hybrid engine",py::arg("model"),py::arg("task"));
m.def("_parametric_model_checking_hybrid_engine",&modelCheckingHybridEngine<storm::dd::DdType::Sylvan,storm::RationalFunction>,"Perform parametric model checking using the hybrid engine",py::arg("model"),py::arg("task"));
m.def("_compute_prob01states_min_double",&computeProb01min<double>,"Compute prob-0-1 states (min)",py::arg("model"),py::arg("phi_states"),py::arg("psi_states"));
m.def("_compute_prob01states_min_double",&computeProb01min<double>,"Compute prob-0-1 states (min)",py::arg("model"),py::arg("phi_states"),py::arg("psi_states"));
@ -49,6 +47,8 @@ void define_result(py::module& m) {
},py::arg("state"),"Get result for given state")
},py::arg("state"),"Get result for given state")
.def("get_truth_values",&storm::modelchecker::ExplicitQualitativeCheckResult::getTruthValuesVector,"Get BitVector representing the truth values")
.def("get_truth_values",&storm::modelchecker::ExplicitQualitativeCheckResult::getTruthValuesVector,"Get BitVector representing the truth values")
;
;
py::class_<storm::modelchecker::SymbolicQualitativeCheckResult<storm::dd::DdType::Sylvan>,std::shared_ptr<storm::modelchecker::SymbolicQualitativeCheckResult<storm::dd::DdType::Sylvan>>>(m,"SymbolicQualitativeCheckResult","Symbolic qualitative model checking result",qualitativeCheckResult)
;
// QuantitativeCheckResult
// QuantitativeCheckResult
py::class_<storm::modelchecker::QuantitativeCheckResult<double>,std::shared_ptr<storm::modelchecker::QuantitativeCheckResult<double>>>quantitativeCheckResult(m,"_QuantitativeCheckResult","Abstract class for quantitative model checking results",checkResult);
py::class_<storm::modelchecker::QuantitativeCheckResult<double>,std::shared_ptr<storm::modelchecker::QuantitativeCheckResult<double>>>quantitativeCheckResult(m,"_QuantitativeCheckResult","Abstract class for quantitative model checking results",checkResult);
@ -56,15 +56,27 @@ void define_result(py::module& m) {
.def("get_values",&getValues<double>,"Get model checking result values for all states")
.def("get_values",[](storm::modelchecker::ExplicitQuantitativeCheckResult<double>const&res){returnres.getValueVector();},"Get model checking result values for all states")
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)
.def("get_values",&storm::modelchecker::HybridQuantitativeCheckResult<storm::dd::DdType::Sylvan,double>::getExplicitValueVector,"Get model checking result values for all states")
;
py::class_<storm::modelchecker::QuantitativeCheckResult<storm::RationalFunction>,std::shared_ptr<storm::modelchecker::QuantitativeCheckResult<storm::RationalFunction>>>parametricQuantitativeCheckResult(m,"_ParametricQuantitativeCheckResult","Abstract class for parametric quantitative model checking results",checkResult);
py::class_<storm::modelchecker::QuantitativeCheckResult<storm::RationalFunction>,std::shared_ptr<storm::modelchecker::QuantitativeCheckResult<storm::RationalFunction>>>parametricQuantitativeCheckResult(m,"_ParametricQuantitativeCheckResult","Abstract class for parametric quantitative model checking results",checkResult);
py::class_<storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalFunction>,std::shared_ptr<storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalFunction>>>(m,"ExplicitParametricQuantitativeCheckResult","Explicit parametric quantitative model checking result",parametricQuantitativeCheckResult)
py::class_<storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalFunction>,std::shared_ptr<storm::modelchecker::ExplicitQuantitativeCheckResult<storm::RationalFunction>>>(m,"ExplicitParametricQuantitativeCheckResult","Explicit parametric quantitative model checking result",parametricQuantitativeCheckResult)
.def("get_values",&getValues<storm::RationalFunction>,"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::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")