def eval_with_derivative(self, x):
    "\n        Evaluates the interpolated function and its derivative at the given input.\n\n        Parameters\n        ----------\n        x : np.array or float\n            Real values to be evaluated in the interpolated function.\n\n        Returns\n        -------\n        y : np.array or float\n            The interpolated function evaluated at x: y = f(x), with the same\n            shape as x.\n        dydx : np.array or float\n            The interpolated function's first derivative evaluated at x:\n            dydx = f'(x), with the same shape as x.\n        "
    z = np.asarray(x)
    (y, dydx) = self._evalAndDer(z.flatten())
    return (y.reshape(z.shape), dydx.reshape(z.shape))
Evaluates the interpolated function and its derivative at the given input.

Parameters
----------
x : np.array or float
    Real values to be evaluated in the interpolated function.

Returns
-------
y : np.array or float
    The interpolated function evaluated at x: y = f(x), with the same
    shape as x.
dydx : np.array or float
    The interpolated function's first derivative evaluated at x:
    dydx = f'(x), with the same shape as x.
def eval_with_derivative(self, x):
    "\n        Evaluates the interpolated function and its derivative at the given input.\n\n        Parameters\n        ----------\n        x : np.array or float\n            Real values to be evaluated in the interpolated function.\n\n        Returns\n        -------\n        y : np.array or float\n            The interpolated function evaluated at x: y = f(x), with the same\n            shape as x.\n        dydx : np.array or float\n            The interpolated function's first derivative evaluated at x:\n            dydx = f'(x), with the same shape as x.\n        "
    z = np.asarray(x)
    (y, dydx) = self._evalAndDer(z.flatten())
    return (y.reshape(z.shape), dydx.reshape(z.shape))