code: def _evalAndDer(self,x):
          '''
          Returns the level and first derivative of the function at each value in
          x.  Only called internally by HARKinterpolator1D.eval_and_der.
          '''
          m = len(x)
          fx = np.zeros((m,self.funcCount))
          for j in range(self.funcCount):
              fx[:,j] = self.functions[j](x)
          fx[np.isnan(fx)] = np.inf
          i = np.argmin(fx,axis=1)
          y = fx[np.arange(m),i]
          dydx = np.zeros_like(y)
          for j in range(self.funcCount):
              c = i == j
              dydx[c] = self.functions[j].derivative(x[c])
          return y,dydf _evalAndDer(self,x):
          '''
          Returns the level and first derivative of the function at each value in
          x.  Only called internally by HARKinterpolator1D.eval_and_der.
          '''
          m = len(x)
          fx = np.zeros((m,self.funcCount))
          for j in range(self.funcCount):
              fx[:,j] = self.functions[j](x)
          fx[np.isnan(fx)] = np.inf
          i = np.argmin(fx,axis=1)
          y = fx[np.arange(m),i]
          dydx = np.zeros_like(y)
          for j in range(self.funcCount):
              c = i == j
              dydx[c] = self.functions[j].derivative(x[c])
          return y,dydx
docs: Returns the level and first derivative of the function at each value in
          x.  Only called internally by HARKinterpolator1D.eval_and_der.