#include "dft.h" #include "src/helpers.h" #include "storm-dft/storage/dft/DFT.h" #include "storm/settings/SettingsManager.h" #include "storm-dft/settings/modules/FaultTreeSettings.h" #include "storm-dft/settings/modules/DftIOSettings.h" template using DFT = storm::storage::DFT; void define_dft(py::module& m) { m.def("_set_up", []() { storm::settings::addModule(); storm::settings::addModule(); }, "Initialize Storm-dft"); // DFT class py::class_, std::shared_ptr>>(m, "DFT", "Dynamic Fault Tree") .def("nr_elements", &DFT::nrElements, "Total number of elements") .def("nr_be", &DFT::nrBasicElements, "Number of basic elements") .def("nr_dynamic", &DFT::nrDynamicElements, "Number of dynamic elements") .def("can_have_nondeterminism", &DFT::canHaveNondeterminism, "Whether the model can contain non-deterministic choices") .def("__str__", &DFT::getInfoString) ; py::class_, std::shared_ptr>>(m, "ParametricDFT", "Parametric DFT") .def("nr_elements", &DFT::nrElements, "Total number of elements") .def("nr_be", &DFT::nrBasicElements, "Number of basic elements") .def("nr_dynamic", &DFT::nrDynamicElements, "Number of dynamic elements") .def("can_have_nondeterminism", &DFT::canHaveNondeterminism, "Whether the model can contain non-deterministic choices") .def("__str__", &DFT::getInfoString) ; }