code: def ecdf_percentile_count(signal, percentile=[0.2, 0.8]):
      """Computes the cumulative sum of samples that are less than the percentile.
  
      Feature computational cost: 1
  
      Parameters
      ----------
      signal : nd-array
          Input from which ECDF is computed
      percentile: list
          Percentile threshold
  
      Returns
      -------
      float
          The cumulative sum of samples
      """
      signal = np.array(signal)
      if isinstance(percentile, str):
          percentile = eval(percentile)
      if isinstance(percentile, (float, int)):
          percentile = [percentile]
  
      # calculate ecdf
      x, y = calc_ecdf(signal)
  
      if len(percentile) > 1:
          # check if signal is constant
          if np.sum(np.diff(signal)) == 0:
              return tuple(np.repeat(signal[0], len(percentile)))
          else:
              return tuple([x[y <= p].shape[0] for p in percentile])
      else:
          # check if signal is constant
          if np.sum(np.diff(signal)) == 0:
              return signal[0]
          else:
              return x[y <= percentile].shape[0]
  
imports: import scipy.signal
  from tsfel.feature_extraction.features_utils import *
label_desc: Use image node_id 35 for calling a global function with example usage: ecdf_percentile_count(signal, percentile) and returns: tuple, tuple, signal, x