code: def _evaluate_all_functions(self, xdata, p=None):
          
          if p is None: p = self.results[0]
  
          output = []
          for n in range(len(self.f)):
              output.append(self._evaluate_f(n, self._xdata_massaged[n], p) )
  
          return output
docs: This returns a list of function outputs given the stored data sets.
          This function relies on a previous call of set_data().
  
          p=None means use the fit results