def _sidak(p_values, alpha):
    """
    Perform the `Sidak correction`_ on a set of p-values and test for significance.

    :param p_values: p-values to adjust for family-wise error rate
    :type p_values: sequence
    :param alpha: Confidence level between 0 and 1
    :type alpha: float
    :return: Whether or not each result was significant, and corrected p-values.
    :rtype: (numpy.array[bool], numpy.array[float])

    .. _`Sidak correction`: http://en.wikipedia.org/wiki/%C5%A0id%C3%A1k_correction
    """
    n = len(p_values)

    if n != 0:
        correction = alpha * 1. / (1 - (1 - alpha) ** (1. / n))
    else:
        correction = 1

    corrected_pvals = p_values*correction

    return corrected_pvals < alpha, corrected_pvals