def _update_functions(self):
self.f             = []<EOL>self.bg            = []<EOL>self._fnames       = []<EOL>self._bgnames      = []<EOL>self._odr_models   = [] <EOL>f  = self._f_raw<EOL>bg = self._bg_raw<EOL>if not _s.fun.is_iterable(f) : f  = [f]<EOL>if not _s.fun.is_iterable(bg): bg = [bg]<EOL>while len(bg) < len(f): bg.append(None)<EOL>pstring = '<STR_LIT>' + '<STR_LIT:U+002CU+0020>'.join(self._pnames)<EOL>pstring_odr = '<STR_LIT>'<EOL>for n in range(len(self._pnames)): pstring_odr = pstring_odr+'<STR_LIT>'+str(n)+'<STR_LIT>'<EOL>for cname in self._cnames: self._globals[cname] = self[cname]<EOL>for n in range(len(f)):<EOL><INDENT>if isinstance(f[n], str):<EOL><INDENT>self.f.append( eval('<STR_LIT>' + pstring + '<STR_LIT>' + f[n],  self._globals))<EOL>self._fnames.append(f[n])<EOL>self._odr_models.append( _odr.Model(eval('<STR_LIT>'+pstring_odr+'<STR_LIT:)>', dict(self=self, n=n))))<EOL><DEDENT>else:<EOL><INDENT>self.f.append(f[n])<EOL>self._fnames.append(f[n].__name__)<EOL><DEDENT>if isinstance(bg[n], str):<EOL><INDENT>self.bg.append(eval('<STR_LIT>' + pstring + '<STR_LIT>' + bg[n], self._globals))<EOL>self._bgnames.append(bg[n])<EOL><DEDENT>else:<EOL><INDENT>self.bg.append(bg[n])<EOL>if bg[n] is None: self._bgnames.append("<STR_LIT:None>")<EOL>else:             self._bgnames.append(bg[n].__name__)<EOL><DEDENT><DEDENT>for k in list(self._settings.keys()): self[k] = self[k]<EOL>self.clear_results()<EOL>
Uses internal settings to update the functions.