docs: def _pad_add_1d(av, size, stlen):
      """ 2D component of `pad_add`
      """
      assert len(size) == 1
  
      padx = _get_pad_left_right(av.shape[0], size[0])
  
      mask = np.zeros(av.shape, dtype=bool)
      mask[stlen:-stlen] = True
      border = av[~mask]
      if av.dtype.name.count("complex"):
          padval = np.average(np.abs(border)) * \
              np.exp(1j*np.average(np.angle(border)))
      else:
          padval = np.average(border)
      if np.__version__[:3] in ["1.7", "1.8", "1.9"]:
          end_values = ((padval, padval),)
      else:
          end_values = (padval,)
      bv = np.pad(av,
                  padx,
                  mode="linear_ramp",
                  end_values=end_values)
      # roll the array so that the padding values are on the right
      bv = np.roll(bv, -padx[0], 0)
      return bv