Index: kernel/include/IMP/Optimizer.h =================================================================== --- kernel/include/IMP/Optimizer.h (revision 385) +++ kernel/include/IMP/Optimizer.h (working copy) @@ -63,8 +63,8 @@ IMP_CONTAINER(OptimizerState, optimizer_state, OptimizerStateIndex); protected: - //! Update optimizer state, at each successful step - void update_state(); + //! Update optimizer state, should be called at each successful step + void update_states(); private: Model *model_; Index: kernel/src/Optimizer.cpp =================================================================== --- kernel/src/Optimizer.cpp (revision 385) +++ kernel/src/Optimizer.cpp (working copy) @@ -25,7 +25,7 @@ } //! Update optimizer state, at each successful step -void Optimizer::update_state() +void Optimizer::update_states() { IMP_LOG(VERBOSE, "Updating OptimizerStates " << std::flush); Index: kernel/src/optimizers/ConjugateGradients.cpp =================================================================== --- kernel/src/optimizers/ConjugateGradients.cpp (revision 385) +++ kernel/src/optimizers/ConjugateGradients.cpp (working copy) @@ -276,7 +276,7 @@ /* Begin the major iteration loop. */ g40: - update_state(); + update_states(); /* Begin linear search. alpha is the steplength. */ if (gradient_direction) { @@ -429,7 +429,7 @@ for (i = 0; i < n; i++) { model_data->set_value(float_indices[i], x[i]); } - update_state(); + update_states(); return f; } Index: kernel/src/optimizers/SteepestDescent.cpp =================================================================== --- kernel/src/optimizers/SteepestDescent.cpp (revision 385) +++ kernel/src/optimizers/SteepestDescent.cpp (working copy) @@ -90,7 +90,7 @@ temp_vals[i] - temp_derivs[i] * current_step_size); } - update_state(); + update_states(); // check the new model new_score = get_model()->evaluate(false); Index: kernel/src/optimizers/MonteCarlo.cpp =================================================================== --- kernel/src/optimizers/MonteCarlo.cpp (revision 385) +++ kernel/src/optimizers/MonteCarlo.cpp (working copy) @@ -37,10 +37,7 @@ Float MonteCarlo::optimize(unsigned int max_steps) { IMP_CHECK_OBJECT(this); - for (OptimizerStateIterator it= optimizer_states_begin(); - it != optimizer_states_end(); ++it) { - (*it)->update(); - } + update_states(); prior_energy_ =get_model()->evaluate(0); IMP_LOG(VERBOSE, "MC Initial energy is " << prior_energy_ << std::endl); ::boost::uniform_real<> rand(0,1); @@ -90,10 +87,7 @@ if (accept) { ++stat_forward_steps_taken_; prior_energy_= next_energy; - for (OptimizerStateIterator it= optimizer_states_begin(); - it != optimizer_states_end(); ++it) { - (*it)->update(); - } + update_states(); } else { ++stat_num_failures_; } Index: kernel/src/optimizers/MolecularDynamics.cpp =================================================================== --- kernel/src/optimizers/MolecularDynamics.cpp (revision 385) +++ kernel/src/optimizers/MolecularDynamics.cpp (working copy) @@ -133,7 +133,7 @@ Float score = model->evaluate(true); for (unsigned int i = 0; i < max_steps; ++i) { - update_state(); + update_states(); step(); score = model->evaluate(true); }