code: def full_like(
      x: Union[ivy.Array, ivy.NativeArray],
      /,
      fill_value: Number,
      *,
      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 filled with ``fill_value`` and having the same
      ``shape`` as an input array ``x`` .
  
      Parameters
      ----------
      x
          input array from which to derive the output array shape.
      fill_value
          Scalar fill value
      dtype
          output array data type. If ``dtype`` is `None`, the output array data type must
          be inferred from ``x``. Default: ``None``.
      device
          device on which to place the created array. If ``device`` is ``None``, the
          output array device must be inferred from ``x``. 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 having the same shape as ``x`` and 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_like.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 :code:`int` datatype:
  
      >>> x = ivy.array([1, 2, 3, 4, 5, 6])
      >>> fill_value = 1
      >>> y = ivy.full_like(x, fill_value)
      >>> print(y)
      ivy.array([1, 1, 1, 1, 1, 1])
  
      >>> fill_value = 0.000123
      >>> x = ivy.ones(5)
      >>> y = ivy.full_like(x, fill_value)
      >>> print(y)
      ivy.array([0.000123, 0.000123, 0.000123, 0.000123, 0.000123])
  
      With float datatype:
  
      >>> x = ivy.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])
      >>> fill_value = 0.000123
      >>> y = ivy.full_like(x, fill_value)
      >>> print(y)
      ivy.array([0.000123, 0.000123, 0.000123, 0.000123, 0.000123, 0.000123])
  
      With :class:`ivy.NativeArray` input:
  
      >>> x = ivy.native_array([3.0, 8.0])
      >>> fill_value = 0.000123
      >>> y = ivy.full_like(x,fill_value)
      >>> print(y)
      ivy.array([0.000123, 0.000123])
  
      >>> x = ivy.native_array([[3., 8., 2.], [2., 8., 3.]])
      >>> y = ivy.full_like(x, fill_value)
      >>> print(y)
      ivy.array([[0.000123, 0.000123, 0.000123],
                 [0.000123, 0.000123, 0.000123]])
  
      With :class:`ivy.Container` input:
  
      >>> x = ivy.Container(a=ivy.array([1.2, 2.2324, 3.234]),
      ...                   b=ivy.array([4.123, 5.23, 6.23]))
      >>> fill_value = 15.0
      >>> y = ivy.full_like(x, fill_value)
      >>> print(y)
      {
          a: ivy.array([15., 15., 15.]),
          b: ivy.array([15., 15., 15.])
      }
      """
      return current_backend(x).full_like(
          x, 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 14 for calling a global function with example usage: full_like(fill_value) and returns: current_backend