code: def F_(self, X):
          
          if self._interpol:
              if not hasattr(self, '_F_interp'):
  
                  if self._lookup:
                      x = self._x_lookup
                      F_x = self._f_lookup
                  else:
                      x = np.linspace(0, self._max_interp_X, self._num_interp_X)
                      F_x = self._F(x)
                  self._F_interp = interp.interp1d(x, F_x, kind='linear', axis=-1, copy=False, bounds_error=False,
                                                   fill_value=0, assume_sorted=True)
              return self._F_interp(X)
          else:
              return self._F(X)
docs: computes h()
  
          :param X:
          :return: