def interpolation(X, Y, extend_to_infty=True): if extend_to_infty: X = [-np.infty] + X + [np.infty] Y = [Y[0]] + Y + [Y[-1]] X = np.array(X) Y = np.array(Y) return lambda x: evaluate_interpolation(x, X, Y)