From 976d3ad1bdd35bae59ad4db490158571f32dd495 Mon Sep 17 00:00:00 2001 From: "clemens.schmid@esrf.fr" Date: Tue, 25 Aug 2026 10:54:45 +0200 Subject: [PATCH 1/2] Add method GetRwHistory to lsq turns internal std::vector into Python list --- src/extensions/lsq_ext.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/extensions/lsq_ext.cpp b/src/extensions/lsq_ext.cpp index b63d104..694960f 100644 --- a/src/extensions/lsq_ext.cpp +++ b/src/extensions/lsq_ext.cpp @@ -45,6 +45,15 @@ bool _SafeRefine(LSQNumObj & lsq, REAL maxChi2factor, int nbCycle, bool useLeven callBeginEndOptimization, minChi2var); } +bp::list _GetRwHistory(const LSQNumObj & lsq) +{ + bp::list out; + const std::vector & h = lsq.GetRwHistory(); + for (std::vector::const_iterator it = h.begin(); it != h.end(); ++it) + out.append(*it); + return out; +} + } // namespace void wrap_lsq() @@ -81,6 +90,7 @@ void wrap_lsq() bp::arg("minChi2var")=0.01)) .def("Rfactor", &LSQNumObj::Rfactor) .def("RwFactor", &LSQNumObj::RwFactor) + .def("GetRwHistory", &_GetRwHistory) .def("ChiSquare", &LSQNumObj::ChiSquare) .def("SetRefinedObj", &LSQNumObj::SetRefinedObj, (bp::arg("obj"), bp::arg("LSQFuncIndex")=0, From 8a2b9856f1d991a5e3f0b42b985a2ed5c7991928 Mon Sep 17 00:00:00 2001 From: Clemens Schmid Date: Tue, 25 Aug 2026 13:48:02 +0200 Subject: [PATCH 2/2] add news file --- news/rw_history.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 news/rw_history.rst diff --git a/news/rw_history.rst b/news/rw_history.rst new file mode 100644 index 0000000..a348487 --- /dev/null +++ b/news/rw_history.rst @@ -0,0 +1,23 @@ +**Added:** + +* Add method ``GetRwHistory`` on LSQ object to get history of Rw values through one run of ``lsq.Refine()``. + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +*