code: def uniform(
      low=0.0, high=1.0, size=None, dtype=None, ctx=None, out=None
  ):
      r"""Draw samples from a uniform distribution.
  
      Samples are uniformly distributed over the half-open interval
      ``[low, high)`` (includes low, but excludes high).  In other words,
      any value within the given interval is equally likely to be drawn
      by `uniform`.
  
      Parameters
      ----------
      low : float, _Symbol, optional
          Lower boundary of the output interval.  All values generated will be
          greater than or equal to low.  The default value is 0.
      high : float, _Symbol, optional
          Upper boundary of the output interval.  All values generated will be
          less than high.  The default value is 1.0.
      size : int or tuple of ints, optional
          Output shape.  If the given shape is, e.g., ``(m, n, k)``, then
          ``m * n * k`` samples are drawn.  If size is ``None`` (default),
          a scalar tensor containing a single value is returned if
          ``low`` and ``high`` are both scalars.
      dtype : {'float16', 'float32', 'float64'}, optional
          Data type of output samples.
          When npx.is_np_default_dtype() returns False, default dtype is float32;
          When npx.is_np_default_dtype() returns True, default dtype is float64.
      ctx : Context, optional
          Device context of output. Default is current context.
  
      Returns
      -------
      out : _Symbol
          Drawn samples from the parameterized uniform distribution.
      """
      from ._symbol import _Symbol as np_symbol
  
      input_type = (
          isinstance(low, np_symbol),
          isinstance(high, np_symbol),
      )
      if ctx is None:
          ctx = current_context()
      if out is not None:
          size = out.shape
      if size == ():
          size = None
      if input_type == (True, True):
          return _npi.uniform(
              low,
              high,
              low=None,
              high=None,
              size=size,
              ctx=ctx,
              dtype=dtype,
              out=out,
          )
      elif input_type == (False, True):
          return _npi.uniform(
              high,
              low=low,
              high=None,
              size=size,
              ctx=ctx,
              dtype=dtype,
              out=out,
          )
      elif input_type == (True, False):
          return _npi.uniform(
              low,
              low=None,
              high=high,
              size=size,
              ctx=ctx,
              dtype=dtype,
              out=out,
          )
      else:
          return _npi.uniform(
              low=low,
              high=high,
              size=size,
              ctx=ctx,
              dtype=dtype,
              out=out,
          )
  
imports: import numpy
  from ...context import current_context
  from ...util import is_np_default_dtype
  from .None import _internal
label_desc: Use image node_id 3 for calling a global function with example usage: uniform(low, high, size, dtype, ctx, out) and returns: _npi, _npi, _npi, _npi