def METHOD_NAME(x, ys, q1, q2):
    """
    Intersection between multiple curves described by points
    and a single line segment. Returns an array of booleans
    describing whether a line segment (q1 to q2) intersects
    a curve.
    :param x: x values of curves (they have to be sorted).
    :param ys: y values of multiple curves sharing x values.
    :param q1: point of the line segment (x, y)
    :param q2: point of the line segnemt (x, y)
    :return:
    """
    # convert curves into a series of startpoints and endpoints
    xp = rolling_window(x, 2)
    ysp = rolling_window(ys, 2)
    r = intersect_line_segments(xp[:, 0], ysp[:, :, 0],
                                xp[:, 1], ysp[:, :, 1],
                                q1[0], q1[1], q2[0], q2[1])
    return np.any(r, axis=1)