code: def modf(x: ArrayLike, /, out=None) -> tuple[Array, Array]:
      check_arraylike("modf", x)
      (x,) = promote_dtypes_inexact(x)
      if out is not None:
          raise NotImplementedError(
              "The 'out' argument to jnp.modf is not supported."
          )
      whole = _where(lax.ge(x, lax._zero(x)), floor(x), ceil(x))
      return x - whole, whole
  
imports: from __future__ import annotations
  from functools import partial
  import operator
  from textwrap import dedent
  from typing import Any, Callable, overload
  import numpy
  from jax._src import core
  from jax._src import dtypes
  from jax._src.api import jit
  from jax._src.custom_derivatives import custom_jvp
  from jax._src.lax import lax
  from jax._src.typing import Array, ArrayLike
  from jax._src.numpy.util import check_arraylike, promote_args, promote_args_inexact, promote_args_numeric, promote_dtypes_inexact, promote_dtypes_numeric, promote_shapes, _where, _wraps, check_no_float0s
label_desc: Use image node_id 46 for calling a global function with example usage: modf(out) and returns: unknown,  whole