class_docstr: Bounds all real values into [a_min, a_max] using clipping (not bijective).
  
  Parameters
  ----------
  a_min: float or None
      lower bound
  a_max: float or None
      upper bound
  bounce: bool
      bounce (once) on borders instead of just clipping
class_docstr_tok: ["Bounds","all","real","values","into","[","a_min",",","a_max","]","using","clipping","(","not","bijective",")",".","Parameters","--","--","--","--","--","a_min",":","float","or","None","lower","bound","a_max",":","float","or","None","upper","bound","bounce",":","bool","bounce","(","once",")","on","borders","instead","of","just","clipping"]
code: def forward(self, x: np.ndarray) -> np.ndarray:
      self._check_shape(x)
      if self.checker(x):
          return x
      out = np.clip(x, self.a_min, self.a_max)  # type: ignore
      if self._bounce:
          out = np.clip(2 * out - x, self.a_min, self.a_max)  # type: ignore
      return out
  
imports: import uuid
  import itertools
  import numpy
  from scipy import stats
  import nevergrad.common.typing
  from .None import utils
label_desc: Use image node_id 2 for calling the Clipping obj's underlying member method code with example usage: obj.forward(x) and returns: out, x