code: def get_function_pars(fn):
      
  
      pars = []
      par_names = pyLike.StringVector()
      fn.getParamNames(par_names)
  
      for pname in par_names:
  
          par = fn.getParam(pname)
          bounds = par.getBounds()
          perr = par.error() if par.isFree() else np.nan
          pars += [dict(name=pname,
                        value=par.getValue(),
                        error=perr,
                        min=bounds[0],
                        max=bounds[1],
                        free=par.isFree(),
                        scale=par.getScale())]
  
      return pars
docs: Extract the parameters of a pyLikelihood function object
      (value, scale, bounds).
  
      Parameters
      ----------
  
      fn : pyLikelihood.Function
  
      Returns
      -------
  
      pars : list