code: def _inner(self, x, y):
          
          if self.is_uniform and not self.is_uniformly_weighted:
              # TODO: implement without copying x
              bdry_fracs = self.partition.boundary_cell_fractions
              func_list = _scaling_func_list(bdry_fracs, exponent=1.0)
              x_arr = apply_on_boundary(x, func=func_list, only_once=False)
              return super(DiscreteLp, self)._inner(self.element(x_arr), y)
          else:
              return super(DiscreteLp, self)._inner(x, y)
docs: Return ``self.inner(x, y)``.