class_docstr: Map X to [0, 1]^d for RangeParameter of type float and not log scale.
  
  Uses bounds l <= x <= u, sets x_tilde_i = (x_i - l_i) / (u_i - l_i).
  Constraints wTx <= b are converted to gTx_tilde <= h, where
  g_i = w_i (u_i - l_i) and h = b - wTl.
  
  Transform is done in-place.
class_docstr_tok: ["Map","X","to","[","0",",","1","]","^d","for","RangeParameter","of","type","float","and","not","log","scale",".","Uses","bounds","l","<","=","x","<","=","u",",","sets","x_tilde_i","=","(","x_i","-","l_i",")","\/","(","u_i","-","l_i",")",".","Constraints","wTx","<","=","b","are","converted","to","gTx_tilde","<","=","h",",","where","g_i","=","w_i","(","u_i","-","l_i",")","and","h","=","b","-","wTl",".","Transform","is","done","in-place","."]
docstr: Transform the parameter distributions of the given search space, in-place.
  
  This method should be called in `transform_search_space` before parameters
  are transformed.
docstr_tok: ["Transform","the","parameter","distributions","of","the","given","search","space",",","in-place",".","This","method","should","be","called","in","`","transform_search_space","`","before","parameters","are","transformed","."]
code: def _transform_parameter_distributions(
      self, search_space: SearchSpace
  ) -> None:
      """Transform the parameter distributions of the given search space, in-place.
  
      This method should be called in `transform_search_space` before parameters
      are transformed.
      """
      if not isinstance(search_space, RobustSearchSpace):
          return
      for distribution in search_space.parameter_distributions:
          is_environmental = distribution.is_environmental(
              search_space=search_space
          )
          if distribution.multiplicative:
              # TODO: Transforming multiplicative distributions is a bit more
              # complicated. Will investigate further and implement as needed.
              raise NotImplementedError(
                  f"{self.__class__.__name__} transform of multiplicative "
                  "distributions is not yet implemented."
              )
          if len(distribution.parameters) != 1:
              self._transform_multivariate_distribution(
                  distribution=distribution,
                  is_environmental=is_environmental,
              )
          else:
              self._transform_univariate_distribution(
                  distribution=distribution,
                  is_environmental=is_environmental,
              )
  
imports: from typing import Dict, List, Optional, Tuple, TYPE_CHECKING
  import numpy
  from ax.core.observation import Observation, ObservationFeatures
  from ax.core.parameter import ParameterType, RangeParameter
  from ax.core.parameter_constraint import ParameterConstraint
  from ax.core.parameter_distribution import ParameterDistribution
  from ax.core.search_space import RobustSearchSpace, SearchSpace
  from ax.exceptions.core import UnsupportedError, UserInputError
  from ax.modelbridge.transforms.base import Transform
  from ax.models.types import TConfig
label_desc: Use image node_id 5 for calling the UnitX obj's underlying member method code with example usage: obj._transform_parameter_distributions(search_space) without return types