code: def test_transform_untransform_params_at_bounds(
      transform_log: bool,
      transform_step: bool,
      distribution: BaseDistribution,
  ) -> None:
      EPS = 1e-12
  
      # Skip the following two conditions that do not clip in `_untransform_numerical_param`:
      # 1. `IntDistribution(log=True)` without `transform_log`
      if not transform_log and (
          isinstance(distribution, IntDistribution) and distribution.log
      ):
          return
  
      trans = _SearchSpaceTransform(
          {"x0": distribution}, transform_log, transform_step
      )
  
      # Manually create round-off errors.
      lower_bound = trans.bounds[0][0] - EPS
      upper_bound = trans.bounds[0][1] + EPS
  
      trans_lower_param = _untransform_numerical_param(
          lower_bound, distribution, transform_log
      )
      trans_upper_param = _untransform_numerical_param(
          upper_bound, distribution, transform_log
      )
      assert trans_lower_param == distribution.low  # type: ignore
      assert trans_upper_param == distribution.high
  
file_path: optuna/tests/test_transform.py
imports: import math
  from typing import Any
  import numpy
  import pytest
  from optuna._transform import _SearchSpaceTransform
  from optuna._transform import _untransform_numerical_param
  from optuna.distributions import BaseDistribution
  from optuna.distributions import CategoricalDistribution
  from optuna.distributions import FloatDistribution
  from optuna.distributions import IntDistribution
label_desc: Use image node_id 6 for calling a global function with example usage: test_transform_untransform_params_at_bounds(transform_log, transform_step, distribution) without return types