-
The coding and design conventions (CDC) document was also updated.
-
The curvature matrix, which is equal to one-half time the Hessian matrix, is evaluated and not the covariance matrix. To make this clean, all covar terms have been renamed to curvature.
-
Initially, there was a unlogic relation between GModels and GOptimizerPars, where GModels derives from GOptimizerPars, but both classes contained different types of objects. GModels is a model container, while GOptimizerPars is a parameter container. Now, GModels derives directly from GContainer and no longer from GOptimizerPars. The GModels::pars() method has been added to extract a flat array of model parameter pointers into a GOptimizerPars object. GOptimizerPars, which was abstract before, is now a real container class that also derives from GContainer.
-
Before, no evaluation was done if there was no parameter to fit, giving an empty model in case that all parameters were fixed. Now, the final evaluation is done in all cases.
-
Add GChatter argument to print() method. The print() method now takes an argument of type GChatter to control the chattiness of the output in a homogenous manner. Pass NORMAL chatter level in __str__ method. Add chatter argument to print() methods. Use GLog::chatter() method to control the chattiness of the log stream operator. Add chatter() methods and provide member access through const references. Add chatter() methods, provide member access through const references, and declare one liners as inline methods. The chatter() methods control the new m_chatter attribute that is used to control the chattiness of the object's print() methods. name() and version() methods return const references. logFileOpen() method now sets the chattiness from the applications's chatter parameter, and name() and version() methods now return a const reference.
-
The GObservations::copy_members() copied the m_fct which it should not have done, as the m_fct::m_this member shall always point to GObservations, hence it should never be copied! Copying led in fact to a segmentation fault. The copy instruction has been removed which corrected the bug.
-
Adapt the class to the new GOptimizer interface. Return a bunch of members now by const reference, and also use const reference as arguents in the propected iteration(), errors() and step_size() methods.
-
For some reason, the GOptimizerPars class was not abstract although it should be an abstract class. The code has been modified to make the class now abstract.
-
…s (allows to move them)
-
…t one parameter to fit