code: def _internal_ask(self) -> tp.ArrayLike:
      # pylint: disable=not-callable
      if self.middle_point and not self._num_ask:
          return np.zeros(self.dimension)
      mode = self.opposition_mode
      if self._opposable_data is not None and mode is not None:
          # weird mypy error, revealed as array, but not accepting substraction
          data = self._opposable_data
          # data *= -(self._rng.uniform(0.0, 1.0) if mode == "quasi" else 1.0)
          data *= -(
              self._rng.uniform(0.0, 1.0)
              if mode == "quasi"
              else (
                  np.exp(-self._rng.uniform(0.0, 5.0))
                  if mode == "special"
                  else 1.0
              )
          )
          self._opposable_data = None
          return data
      sample = self.sampler()
      if self._rescaler is not None:
          sample = self._rescaler.apply(sample)
      if self.autorescale is True or self.autorescale == "auto":
          assert self.budget is not None
          self.scale = (1 + np.log(self.budget)) / (
              4 * np.log(self.dimension)
          )
      if self.autorescale == "autotune":
          assert self.budget is not None
          self.scale = np.sqrt(np.log(self.budget) / self.dimension)
  
      transf = trans.CumulativeDensity(
          0,
          1,
          scale=self.scale,
          density="cauchy" if self.cauchy else "gaussian",
      )
      # hack since scale is not defined before the first hack (TODO: refactor)
      self._normalizer.unbounded_transform = transf
  
      self._opposable_data = self._normalizer.backward(sample)
      assert self._opposable_data is not None
      return self._opposable_data
  
imports: import copy
  import numpy
  from scipy.spatial import ConvexHull
  import nevergrad.common.typing
  from nevergrad.parametrization import parameter
  from nevergrad.parametrization import transforms
  from .None import sequences
  from .None import base
  from .base import IntOrParameter
  from .None import utils
label_desc: Use image node_id 3 for calling the _SamplingSearch obj's underlying member method code with example usage: obj._internal_ask() and returns: self, np, data