code: def selu(
      x: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Apply the scaled exponential linear unit function element-wise.
  
      Parameters
      ----------
      x
          input array
      out
          optional output array, for writing the result to. It must have a shape that the
          inputs broadcast to.
  
      Returns
      -------
      ret
          an array containing the scaled exponential linear unit activation of each
          element in ``x``.
  
      Examples
      --------
      With :class:`ivy.Array` input:
      >>> x = ivy.array([-1.,  0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.])
      >>> y = ivy.selu(x)
      >>> print(y)
      ivy.array([-1.11133075,  0.        ,  1.05070102,  2.10140204,  3.15210295,
              4.20280409,  5.25350523,  6.30420589,  7.35490704])
      >>> x = ivy.array([-1.,  0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.])
      >>> y = ivy.zeros(9)
      >>> ivy.selu(x, out = y)
      >>> print(y)
      ivy.array([-1.11133075,  0.        ,  1.05070102,  2.10140204,  3.15210295,
              4.20280409,  5.25350523,  6.30420589,  7.35490704])
  
      With :class:`ivy.Container` input:
      >>> x = ivy.Container(a=ivy.array([-3., -2., -1., 0., 1., 2., 3., 4., 5.]),
      ...                   b=ivy.array([1., 2., 3., 4., 5., 6., 7., 8., 9.])
      ...                   )
      >>> x = ivy.selu(x, out=x)
      >>> print(x)
      {
          a: ivy.array([-1.6705687, -1.52016652, -1.11133075, 0., 1.05070102,
                        2.10140204, 3.15210295, 4.20280409, 5.25350523]),
          b: ivy.array([1.05070102, 2.10140204, 3.15210295, 4.20280409, 5.25350523,
                        6.30420589, 7.35490704, 8.40560818, 9.45630932])
      }
      """
      return current_backend(x).selu(x, out=out)
  
imports: from typing import Union, Optional, Callable, Literal
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
  from ivy.func_wrapper import handle_array_function, handle_nestable, to_native_arrays_and_back, handle_array_like_without_promotion, handle_out_argument, inputs_to_ivy_arrays, handle_device, handle_backend_invalid, handle_complex_input
label_desc: Use image node_id 8 for calling a global function with example usage: selu() and returns: current_backend