From cfa7a20be541996d8f79e19f1b1e8da7e1d0c294 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Tue, 9 Feb 2016 09:41:15 +0100 Subject: [PATCH] ctlike::reoptimize_lm() now works on a clone of the optimizer --- src/ctlike/ctlike.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ctlike/ctlike.cpp b/src/ctlike/ctlike.cpp index 24a7e15..6c0b71f 100644 --- a/src/ctlike/ctlike.cpp +++ b/src/ctlike/ctlike.cpp @@ -530,23 +530,26 @@ double ctlike::reoptimize_lm(void) log.indent(1); } + // Create a clone of the optimizer for the re-optimisation + GOptimizer* opt = m_opt->clone(); + // Perform LM optimization - m_obs.optimize(*m_opt); + m_obs.optimize(*opt); // Optionally refit if (m_refit) { - m_obs.optimize(*m_opt); + m_obs.optimize(*opt); } // Store maximum log likelihood value - double logL = -(m_opt->value()); + double logL = -(opt->value()); // Write optimization results log.indent(0); if (logTerse()) { log << std::endl; log.header1("Maximum likelihood re-optimisation results"); - log << *m_opt << std::endl; + log << *opt << std::endl; } // Return -- libgit2 0.21.4