code: def logspace(
      start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0
  ):
      """Returns an array with evenly-spaced values on a log-scale.
  
      Instead of specifying the step width like :func:`cupy.arange`, this
      function requires the total number of elements specified.
  
      Args:
          start: Start of the interval.
          stop: End of the interval.
          num: Number of elements.
          endpoint (bool): If ``True``, the stop value is included as the last
              element. Otherwise, the stop value is omitted.
          base (float): Base of the log space. The step sizes between the
              elements on a log-scale are the same as ``base``.
          dtype: Data type specifier. It is inferred from the start and stop
              arguments by default.
          axis (int):  The axis in the result to store the samples.  Relevant
              only if start or stop are array-like.  By default ``0``, the
              samples will be along a new axis inserted at the beginning.
              Use ``-1`` to get an axis at the end.
      Returns:
          cupy.ndarray: The 1-D array of ranged values.
  
      .. seealso:: :func:`numpy.logspace`
  
      """
      y = linspace(start, stop, num=num, endpoint=endpoint, axis=axis)
      if dtype is None:
          return _core.power(base, y)
      # This is to avoid cupy strange behaviors such as
      # cupy.power(10.0, cupy.array(2.0, dtype=cupy.float32)) == 99.9999
      # numpy.power(10.0, cupy.array(2.0, dtype=numpy.float32)) == 100.0
      if cupy.dtype(dtype).kind in "iu":
          y = y.astype(cupy.float64)
      return _core.power(base, y).astype(dtype)
  
file_path: cupy/cupy/_creation/ranges.py
imports: import math
  import numpy
  import cupy
  from cupy import _core
label_desc: Use image node_id 4 for calling a global function with example usage: logspace(start, stop, num, endpoint, base, dtype, axis) and returns: _core, _core