func_ranges.append(None)
out = np.zeros_like(array)
for f, start, end in zip(func_table, func_ranges, func_ranges[1:]):
    pass
Efficient algorithm for evaluating a 1-d array of functions on a same-length 1d numpy array