code: def full(
      shape: Union[ivy.Shape, ivy.NativeShape],
      fill_value: Union[float, bool],
      /,
      *,
      dtype: Optional[Union[ivy.Dtype, ivy.NativeDtype]] = None,
      device: Optional[Union[ivy.Device, ivy.NativeDevice]] = None,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Return a new array having a specified ``shape`` and filled with
      ``fill_value``.
  
      Parameters
      ----------
      shape
          output array shape.
      fill_value
          fill value.
      dtype
          output array data type. If ``dtype`` is `None`, the output array data type must
          be inferred from ``fill_value``. If the fill value is an ``int``, the output
          array data type must be the default integer data type. If the fill value is a
          ``float``, the output array data type must be the default floating-point data
          type. If the fill value is a ``bool``, the output array must have boolean data
          type. Default: ``None``.
      device
          device on which to place the created array. Default: ``None``.
      out
          optional output array, for writing the result to. It must have a shape that the
          inputs broadcast to.
  
      Returns
      -------
      ret
          an array where every element is equal to `fill_value`.
  
  
      This function conforms to the `Array API Standard
      <https://data-apis.org/array-api/latest/>`_. This docstring is an extension of the
      `docstring <https://data-apis.org/array-api/latest/
      API_specification/generated/array_api.full.html>`_
      in the standard.
  
      Both the description and the type hints above assumes an array input for simplicity,
      but this function is *nestable*, and therefore also accepts :class:`ivy.Container`
      instances in place of any of the arguments.
  
      Examples
      --------
      With :class:`ivy.Shape` input:
  
      >>> shape = ivy.Shape((2,2))
      >>> fill_value = 8.6
      >>> x = ivy.full(shape, fill_value)
      >>> print(x)
      ivy.array([[8.6, 8.6],
                 [8.6, 8.6]])
  
      With :class:`ivy.NativeShape` input:
  
      >>> shape = ivy.NativeShape((2, 2, 2))
      >>> fill_value = True
      >>> dtype = ivy.bool
      >>> device = ivy.Device('cpu')
      >>> x = ivy.full(shape, fill_value, dtype=dtype, device=device)
      >>> print(x)
      ivy.array([[[True,  True],
                  [True,  True]],
                 [[True,  True],
                  [True,  True]]])
  
      With :class:`ivy.NativeDevice` input:
  
      >>> shape = ivy.NativeShape((1, 2))
      >>> fill_value = 0.68
      >>> dtype = ivy.float64
      >>> device = ivy.NativeDevice('cpu')
      >>> x = ivy.full(shape, fill_value, dtype=dtype, device=device)
      >>> print(x)
      ivy.array([[0.68, 0.68]])
  
      With :class:`ivy.Container` input:
  
      >>> shape = ivy.Container(a=ivy.NativeShape((2, 1)), b=ivy.Shape((2, 1, 2)))
      >>> fill_value = ivy.Container(a=0.99, b=False)
      >>> dtype = ivy.Container(a=ivy.float64, b=ivy.bool)
      >>> device = ivy.Container(a=ivy.NativeDevice('cpu'), b=ivy.Device('cpu'))
      >>> x = ivy.full(shape, fill_value, dtype=dtype, device=device)
      >>> print(x)
      {
          a: ivy.array([[0.99],
                        [0.99]]),
          b: ivy.array([[[False, False]],
                        [[False, False]]])
      }
      """
      return current_backend().full(
          shape, fill_value, dtype=dtype, device=device, out=out
      )
  
imports: from __future__ import annotations
  import functools
  from numbers import Number
  from typing import Union, Tuple, Optional, List, Sequence, Callable, Protocol, TypeVar, Iterable
  import numpy
  import ivy
  from ivy import to_ivy
  from ivy.utils.exceptions import handle_exceptions
  from ivy.utils.backend import current_backend
  from ivy.func_wrapper import handle_array_function, infer_dtype, handle_out_argument, outputs_to_ivy_arrays, inputs_to_native_arrays, inputs_to_native_shapes, to_native_arrays_and_back, handle_nestable, handle_array_like_without_promotion, handle_device, handle_backend_invalid, temp_asarray_wrapper
label_desc: Use image node_id 24 for calling a global function with example usage: full() and returns: current_backend