docs: def minowski(h1, h2, p = 2): # 46..45..14,11..43..44 / 45 us for p=int(-inf..-24..-1,1..24..inf) / float @array, +20 us @list \w 100 bins
      r"""
      Minowski distance.
      
      With :math:`p=2` equal to the Euclidean distance, with :math:`p=1` equal to the Manhattan distance,
      and the Chebyshev distance implementation represents the case of :math:`p=\pm inf`.
      
      The Minowksi distance between two histograms :math:`H` and :math:`H'` of size :math:`m` is
      defined as:
      
      .. math::
      
          d_p(H, H') = \left(\sum_{m=1}^M|H_m - H'_m|^p  
              \right)^{\frac{1}{p}}
  
      *Attributes:*
      
      - a real metric
      
      *Attributes for normalized histograms:*
      
      - :math:`d(H, H')\in[0, \sqrt[p]{2}]`
      - :math:`d(H, H) = 0`
      - :math:`d(H, H') = d(H', H)`
      
      *Attributes for not-normalized histograms:*
      
      - :math:`d(H, H')\in[0, \infty)`
      - :math:`d(H, H) = 0`
      - :math:`d(H, H') = d(H', H)`
      
      *Attributes for not-equal histograms:*
      
      - not applicable
      
      Parameters
      ----------
      h1 : sequence
          The first histogram.
      h2 : sequence
          The second histogram.
      p : float
          The :math:`p` value in the Minowksi distance formula.
      
      Returns
      -------
      minowski : float
          Minowski distance.
      
      Raises
      ------
      ValueError
          If ``p`` is zero.
      """
      h1, h2 = __prepare_histogram(h1, h2)
      if 0 == p: raise ValueError('p can not be zero')
      elif int == type(p):
          if p > 0 and p < 25: return __minowski_low_positive_integer_p(h1, h2, p)
          elif p < 0 and p > -25: return __minowski_low_negative_integer_p(h1, h2, p)
      return math.pow(scipy.sum(scipy.power(scipy.absolute(h1 - h2), p)), 1./p)