From 9fefa1ac82aaf5bd3a039a920f36371c99d0c474 Mon Sep 17 00:00:00 2001 From: Sebastian Junges Date: Thu, 9 Jul 2020 22:51:43 -0700 Subject: [PATCH] export options for DRN: allow or not allow placeholders --- src/core/core.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/core/core.cpp b/src/core/core.cpp index 1f94cbf..93f5792 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -133,15 +133,19 @@ void define_optimality_type(py::module& m) { // Thin wrapper for exporting model template -void exportDRN(std::shared_ptr> model, std::string const& file) { +void exportDRN(std::shared_ptr> model, std::string const& file, storm::exporter::DirectEncodingOptions options) { std::ofstream stream; storm::utility::openFile(file, stream); - storm::exporter::explicitExportSparseModel(stream, model, {}); + storm::exporter::explicitExportSparseModel(stream, model, {}, options); storm::utility::closeFile(stream); } void define_export(py::module& m) { + + py::class_ opts(m, "DirectEncodingOptions"); + opts.def(py::init<>()); + opts.def_readwrite("allow_placeholders", &storm::exporter::DirectEncodingOptions::allowPlaceholders); // Export - m.def("export_to_drn", &exportDRN, "Export model in DRN format", py::arg("model"), py::arg("file")); - m.def("export_parametric_to_drn", &exportDRN, "Export parametric model in DRN format", py::arg("model"), py::arg("file")); + m.def("export_to_drn", &exportDRN, "Export model in DRN format", py::arg("model"), py::arg("file"), py::arg("options")=storm::exporter::DirectEncodingOptions()); + m.def("export_parametric_to_drn", &exportDRN, "Export parametric model in DRN format", py::arg("model"), py::arg("file"), py::arg("options")=storm::exporter::DirectEncodingOptions()); }