code: def discrepancy(sample, bounds=None):
      """Discrepancy.
  
      Compute the centered discrepancy on a given sample.
      It is a measure of the uniformity of the points in the parameter space.
      The lower the value is, the better the coverage of the parameter space is.
  
      Parameters
      ----------
      sample : array_like (n_samples, k_vars)
          The sample to compute the discrepancy from.
      bounds : tuple or array_like ([min, k_vars], [max, k_vars])
          Desired range of transformed data. The transformation apply the bounds
          on the sample and not the theoretical space, unit cube. Thus min and
          max values of the sample will coincide with the bounds.
  
      Returns
      -------
      discrepancy : float
          Centered discrepancy.
  
      References
      ----------
      [1] Fang et al. "Design and modeling for computer experiments",
        Computer Science and Data Analysis Series Science and Data Analysis
        Series, 2006.
      """
      sample = np.asarray(sample)
      n_sample, dim = sample.shape
  
      # Sample scaling from bounds to unit hypercube
      if bounds is not None:
          min_ = bounds.min(axis=0)
          max_ = bounds.max(axis=0)
          sample = (sample - min_) / (max_ - min_)
  
      abs_ = abs(sample - 0.5)
      disc1 = np.sum(np.prod(1 + 0.5 * abs_ - 0.5 * abs_**2, axis=1))
  
      prod_arr = 1
      for i in range(dim):
          s0 = sample[:, i]
          prod_arr *= (
              1
              + 0.5 * abs(s0[:, None] - 0.5)
              + 0.5 * abs(s0 - 0.5)
              - 0.5 * abs(s0[:, None] - s0)
          )
      disc2 = prod_arr.sum()
  
      c2 = (
          (13.0 / 12.0) ** dim
          - 2.0 / n_sample * disc1
          + 1.0 / (n_sample**2) * disc2
      )
  
      return c2
  
imports: import numpy
label_desc: Use image node_id 1 for calling a global function with example usage: discrepancy(sample, bounds) and returns: c2