code: def histogram_intersection(h1, h2): # 6 us @array, 30 us @list \w 100 bins
      r
      h1, h2 = __prepare_histogram(h1, h2)
      return scipy.sum(scipy.minimum(h1, h2))
docs: 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.