base-stats,python: Expose DistInfo via Pybind11
Change-Id: If3ac9a0da52b929559e3cde3c2bab95b59ab16ce Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39298 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -67,6 +67,7 @@ cast_stat_info(const Stats::Info *info)
|
||||
} while (0)
|
||||
|
||||
TRY_CAST(Stats::ScalarInfo);
|
||||
TRY_CAST(Stats::DistInfo);
|
||||
|
||||
return py::cast(info);
|
||||
|
||||
@@ -147,6 +148,38 @@ pybind_init_stats(py::module_ &m_native)
|
||||
.def("total", &Stats::ScalarInfo::total)
|
||||
;
|
||||
|
||||
py::class_<Stats::DistInfo, Stats::Info,
|
||||
std::unique_ptr<Stats::DistInfo, py::nodelete>>(
|
||||
m, "DistInfo")
|
||||
.def_property_readonly("min_val", [](const Stats::DistInfo &info) {
|
||||
return info.data.min_val;
|
||||
})
|
||||
.def_property_readonly("max_val", [](const Stats::DistInfo &info) {
|
||||
return info.data.max_val;
|
||||
})
|
||||
.def_property_readonly("bucket_size", [](const Stats::DistInfo &info) {
|
||||
return info.data.bucket_size;
|
||||
})
|
||||
.def_property_readonly("values", [](const Stats::DistInfo &info) {
|
||||
return info.data.cvec;
|
||||
})
|
||||
.def_property_readonly("overflow", [](const Stats::DistInfo &info) {
|
||||
return info.data.overflow;
|
||||
})
|
||||
.def_property_readonly("underflow", [](const Stats::DistInfo &info) {
|
||||
return info.data.underflow;
|
||||
})
|
||||
.def_property_readonly("sum", [](const Stats::DistInfo &info) {
|
||||
return info.data.sum;
|
||||
})
|
||||
.def_property_readonly("logs", [](const Stats::DistInfo &info) {
|
||||
return info.data.logs;
|
||||
})
|
||||
.def_property_readonly("squares", [](const Stats::DistInfo &info) {
|
||||
return info.data.squares;
|
||||
})
|
||||
;
|
||||
|
||||
py::class_<Stats::Group, std::unique_ptr<Stats::Group, py::nodelete>>(
|
||||
m, "Group")
|
||||
.def("regStats", &Stats::Group::regStats)
|
||||
|
||||
Reference in New Issue
Block a user