code: def get_grid_for_parameter(
      parameter: RangeParameter, density: int
  ) -> np.ndarray:
      """Get a grid of points along the range of the parameter.
  
      Will be a log-scale grid if parameter is log scale.
  
      Args:
          parameter: Parameter for which to generate grid.
          density: Number of points in the grid.
      """
      is_log = parameter.log_scale
      if is_log:
          grid = np.linspace(
              np.log10(parameter.lower),
              np.log10(parameter.upper),
              density,
          )
          grid = 10**grid
      else:
          grid = np.linspace(parameter.lower, parameter.upper, density)
      return grid
  
imports: import math
  from collections import Counter
  from logging import Logger
  from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union
  import numpy
  from ax.core.generator_run import GeneratorRun
  from ax.core.observation import Observation, ObservationFeatures
  from ax.core.parameter import ChoiceParameter, FixedParameter, Parameter, ParameterType, RangeParameter
  from ax.core.types import TParameterization
  from ax.modelbridge.base import ModelBridge
  from ax.modelbridge.prediction_utils import _compute_scalarized_outcome, predict_at_point
  from ax.modelbridge.transforms.ivw import IVW
  from ax.plot.base import DECIMALS, PlotData, PlotInSampleArm, PlotOutOfSampleArm, Z
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import not_none
label_desc: Use image node_id 15 for calling a global function with example usage: get_grid_for_parameter(parameter, density) and returns: grid