code: def polyint(p: Array, m: int = 1, k: int | None = None) -> Array:
      m = core.concrete_or_error(
          operator.index, m, "'m' argument of jnp.polyint"
      )
      k = 0 if k is None else k
      check_arraylike("polyint", p, k)
      p, k_arr = promote_dtypes_inexact(p, k)
      if m < 0:
          raise ValueError(
              "Order of integral must be positive (see polyder)"
          )
      k_arr = atleast_1d(k_arr)
      if len(k_arr) == 1:
          k_arr = full((m,), k_arr[0])
      if k_arr.shape != (m,):
          raise ValueError(
              "k must be a scalar or a rank-1 array of length 1 or m."
          )
      if m == 0:
          return p
      else:
          grid = (
              arange(len(p) + m, dtype=p.dtype)[np.newaxis]
              - arange(m, dtype=p.dtype)[:, np.newaxis]
          )
          coeff = maximum(1, grid).prod(0)[::-1]
          return true_divide(concatenate((p, k_arr)), coeff)
  
imports: from __future__ import annotations
  from functools import partial
  import operator
  import numpy
  from jax import jit
  from jax import lax
  from jax._src import dtypes
  from jax._src import core
  from jax._src.numpy.lax_numpy import arange, argmin, array, asarray, atleast_1d, concatenate, convolve, diag, dot, finfo, full, ones, outer, roll, trim_zeros, trim_zeros_tol, vander, zeros
  from jax._src.numpy.ufuncs import maximum, true_divide, sqrt
  from jax._src.numpy.reductions import all
  from jax._src.numpy import linalg
  from jax._src.numpy.util import check_arraylike, promote_dtypes, promote_dtypes_inexact, _where, _wraps
  from jax._src.typing import Array, ArrayLike
label_desc: Use image node_id 8 for calling a global function with example usage: polyint(p, m, k) and returns: p, true_divide