From 4dc66b03f1c12e96a7115b1dde3b5ed31433478e Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Sun, 17 Jan 2021 20:46:22 -0800 Subject: [PATCH] base-stats,python: Expose FormulaInfo via PyBind11 Change-Id: If7d3e7a386e138d5f4e05bb1ec4b920d6caef836 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39300 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- src/python/pybind11/stats.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/python/pybind11/stats.cc b/src/python/pybind11/stats.cc index 50013cf98c..e6912e2ff6 100644 --- a/src/python/pybind11/stats.cc +++ b/src/python/pybind11/stats.cc @@ -67,6 +67,11 @@ cast_stat_info(const Stats::Info *info) } while (0) TRY_CAST(Stats::ScalarInfo); + /* FormulaInfo is a subclass of VectorInfo. Therefore, a cast to + * FormulaInfo must be attempted before a cast to VectorInfo. Otherwise + * instances of ForumlaInfo will be cast to VectorInfo. + */ + TRY_CAST(Stats::FormulaInfo); TRY_CAST(Stats::VectorInfo); TRY_CAST(Stats::DistInfo); @@ -168,6 +173,14 @@ pybind_init_stats(py::module_ &m_native) }) ; + py::class_>( + m, "FormulaInfo") + .def_property_readonly("str", [](const Stats::FormulaInfo &info) { + return info.str(); + }) + ; + py::class_>( m, "DistInfo")