code: def logit(
      x: Union[float, int, ivy.Array],
      /,
      *,
      eps: Optional[float] = None,
      complex_mode: Literal["split", "magnitude", "jax"] = "jax",
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Compute the logit of x.
  
      logit(x) = log(x / (1 - x)).
  
      Parameters
      ----------
      x
          Input data.
      eps
          When eps is None the function outputs NaN where x < 0 or x > 1.
          and inf or -inf where x = 1 or x = 0, respectively.
          Otherwise if eps is defined, x is clamped to [eps, 1 - eps]
      complex_mode
          optional specifier for how to handle complex data types. See
          ``ivy.func_wrapper.handle_complex_input`` for more detail.
      out
          Optional output array.
  
      Returns
      -------
      ret
          Array containing elementwise logits of x.
  
      Examples
      --------
      >>> x = ivy.array([1, 0, 0.9])
      >>> z = ivy.logit(x)
      >>> print(z)
      ivy.array([       inf,       -inf, 2.19722438])
  
      >>> x = ivy.array([1, 2, -0.9])
      >>> z = ivy.logit(x, eps=0.2)
      >>> print(z)
      ivy.array([ 1.38629448,  1.38629448, -1.38629436])
      """
      return current_backend(x).logit(x, eps=eps, 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 2 for calling a global function with example usage: logit() and returns: current_backend