function lmfit_adapt,fn_name,x,ymeas,ymeas_error,initial_guess,use_lmfit=use_lmfit,_extra=extra,functargs=functargs,perror=perror,covar=covar if keyword_set(use_lmfit) then begin common lm_fit_adapt,function_name,args function_name=fn_name if n_elements(functargs) gt 0 then args=functargs a=initial_guess result=lmfit(function_name="lmfitfun_adapt_function", $ ;Function to call x,ymeas,a,measure_errors=ymeas_error,$ sigma=perror) ;Collect the parameter errors coefs=a end else begin coefs=mpfitfun(fn_name, $ ;Function to call x,ymeas,ymeas_error, $ ;Independent var, dependent var, errors on each dependent var initial_guess, $ ;Initial model coefficient guess perror=perror,covar=covar, $ ;Collect the parameter errors functargs=functargs, $ ;Extra stuff to pass along to the model function _extra=extra) end return,coefs end