def free(self, *args, **kwargs):
<EOL>self.set(**kwargs)<EOL>cnames = list(args) + list(kwargs.keys())<EOL>for cname in cnames:<EOL><INDENT>if not cname in self._cnames:<EOL><INDENT>self._error("<STR_LIT>"+cname+"<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>n = self._cnames.index(cname)<EOL>if type(self._pnames)    is not list: self._pnames    = list(self._pnames)<EOL>if type(self._pguess)    is not list: self._pguess    = list(self._pguess)<EOL>if type(self._cnames)    is not list: self._cnames    = list(self._cnames)<EOL>if type(self._constants) is not list: self._constants = list(self._constants)<EOL>self._pnames.append(self._cnames.pop(n))<EOL>self._pguess.append(self._constants.pop(n))<EOL>self._update_functions()<EOL><DEDENT><DEDENT>return self<EOL>
Turns a constant into a parameter. As arguments, parameters must be strings.
As keyword arguments, they can be set at the same time.