def histogram_intersection(h1, h2): # 6 us @array, 30 us @list \w 100 bins
    r"""
    Calculate the common part of two histograms.
    
    The histogram intersection between two histograms :math:`H` and :math:`H'` of size :math:`m` is
    defined as:
    
    .. math::
    
        d_{\cap}(H, H') = \sum_{m=1}^M\min(H_m, H'_m)
    
    *Attributes:*

    - a real metric
    
    *Attributes for normalized histograms:*

    - :math:`d(H, H')\in[0, 1]`
    - :math:`d(H, H) = 1`
    - :math:`d(H, H') = d(H', H)`
    
    *Attributes for not-normalized histograms:*

    - not applicable
    
    *Attributes for not-equal histograms:*

    - not applicable
    
    Parameters
    ----------
    h1 : sequence
        The first histogram, normalized.
    h2 : sequence
        The second histogram, normalized, same bins as ``h1``.
    
    Returns
    -------
    histogram_intersection : float
        Intersection between the two histograms.
    """
    h1, h2 = __prepare_histogram(h1, h2)
    return scipy.sum(scipy.minimum(h1, h2))