Commit 950dc55694af0a14b95e2990b1d707f154e1386d
1 parent
473731bc
Allocate optimizer upon construction.
Showing
1 changed file
with
11 additions
and
4 deletions
src/cterror/cterror.cpp
| ... | ... | @@ -232,9 +232,6 @@ void cterror::run(void) |
| 232 | 232 | log.header1("Compute best-fit likelihood"); |
| 233 | 233 | } |
| 234 | 234 | |
| 235 | - // Allocate optimizer | |
| 236 | - m_opt = new GOptimizerLM(); | |
| 237 | - | |
| 238 | 235 | // Optimize and save best log-likelihood |
| 239 | 236 | m_obs.optimize(*m_opt); |
| 240 | 237 | m_obs.errors(*m_opt); |
| ... | ... | @@ -414,6 +411,16 @@ void cterror::init_members(void) |
| 414 | 411 | m_model_par = NULL; |
| 415 | 412 | m_opt = NULL; |
| 416 | 413 | |
| 414 | + // Allocate LM optimizer | |
| 415 | + GOptimizerLM* opt = new GOptimizerLM(); | |
| 416 | + | |
| 417 | + // Set optimizer parameters | |
| 418 | + opt->max_iter(m_max_iter); | |
| 419 | + opt->max_stalls(10); | |
| 420 | + | |
| 421 | + // Set optimizer pointer | |
| 422 | + m_opt = opt; | |
| 423 | + | |
| 417 | 424 | // Return |
| 418 | 425 | return; |
| 419 | 426 | } |
| ... | ... | @@ -436,8 +443,8 @@ void cterror::copy_members(const cterror& app) |
| 436 | 443 | m_obs = app.m_obs; |
| 437 | 444 | m_dlogL = app.m_dlogL; |
| 438 | 445 | m_best_logL = app.m_best_logL; |
| 446 | + m_opt = app.m_opt->clone(); | |
| 439 | 447 | m_model_par = NULL; |
| 440 | - m_opt = NULL; | |
| 441 | 448 | |
| 442 | 449 | // Return |
| 443 | 450 | return; | ... | ... |