long fit_window::on_cmd_run_fit(FXObject*, FXSelector, void* ptr) { reg_check_point(this); struct fit_parameters* fps = fit_parameters_new(); for (unsigned j = 0; j < m_parameters.size(); j++) { if (m_parameters[j].selected) { fit_parameters_add (fps, &m_parameters[j].fp); } } if (fps->number > 0) { m_fit->run(fps); for (unsigned k = 0; k < m_parameters.size(); k++) { param_info& p = m_parameters[k]; FXString s = FXStringFormat("%g", m_fit->get_parameter_value(k)); p.text_field->setText(s); p.is_dirty = true; } m_canvas->update_limits(); } fit_parameters_free(fps); return 1; }
fit_recipe::fit_recipe(): ms_setup(NULL) { fit_config_set_default(config); stack = (stack_t*) emalloc(sizeof(stack_t)); stack_init(stack); parameters = fit_parameters_new(); seeds_list = seed_list_new(); }