docs: def _probvec(r, out):
      """
      Fill `out` with randomly sampled probability vectors as rows.
  
      To be complied as a ufunc by guvectorize of Numba. The inputs must
      have the same shape except the last axis; the length of the last
      axis of `r` must be that of `out` minus 1, i.e., if out.shape[-1] is
      k, then r.shape[-1] must be k-1.
  
      Parameters
      ----------
      r : ndarray(float)
          Array containing random values in [0, 1).
  
      out : ndarray(float)
          Output array.
  
      """
      n = r.shape[0]
      r.sort()
      out[0] = r[0]
      for i in range(1, n):
          out[i] = r[i] - r[i-1]
      out[n] = 1 - r[n-1]