def splitIterables(iter1, iter2):
    """Splits two iterable elements which are paired by selecting the math:`n`
    common indexes where there are sign changes in both inputs at the same
    time. If there is any index to split the inputs, it returns the same inputs
    within a list.

    Parameters:
        iter1 (`numpy.ndarray` or `list`): An iterable element which is
            paired to ``iter2``.
        iter2 (`numpy.ndarray` or `list`): An iterable element which is
            paired to ``iter1``.

    Returns:
        Two elements are returned; they are described below.

            - **iter1Splitted** (`list`): Segments of the original ``iter1``                input after being splitted.
            - **iter2splitted** (`list`): Segments of the original ``iter2``                input after being splitted.

    Examples:
        >>> from jelinekstat.tools import splitIterables
        >>> iter1, iter2 = [1, -2, -3, 4, 5, 6], [-3, -2, -1, 0, 1, 2]
        >>> iter1Splitted, iter2splitted = splitIterables(iter1, iter2)
        >>> iter1Splitted
        [[1, -2, -3], [4, 5, 6]]
        >>> iter2splitted
        [[-3, -2, -1], [0, 1, 2]]
    """
    import numpy as np
    signPosit1 = np.where(np.diff(np.sign(iter1)))[0]
    signPosit2 = np.where(np.diff(np.sign(iter2)))[0]
    signPosit = np.intersect1d(signPosit1, signPosit2)
    iter1Splitted = list()
    iter2splitted = list()
    if len(signPosit) == 0:
        iter1Splitted.append(iter1)
        iter2splitted.append(iter2)
    else:
        iter1Splitted.append(iter1[:signPosit[0] + 1])
        iter2splitted.append(iter2[:signPosit[0] + 1])
        for i in range(len(signPosit) - 1):
            iter1Splitted.append(iter1[signPosit[i] + 1:signPosit[i + 1]])
            iter2splitted.append(iter2[signPosit[i] + 1:signPosit[i + 1]])
        iter1Splitted.append(iter1[signPosit[-1] + 1:])
        iter2splitted.append(iter2[signPosit[-1] + 1:])
    return iter1Splitted, iter2splitted
