class_docstr: Functions that operate element-by-element on whole arrays.
  
  This is a class for LAX-backed implementations of numpy ufuncs.
code: def reduceat(
      self,
      a: ArrayLike,
      indices: Any,
      axis: int = 0,
      dtype: DTypeLike | None = None,
      out: None = None,
  ) -> Array:
      if self.nin != 2:
          raise ValueError("reduceat only supported for binary ufuncs")
      if self.nout != 1:
          raise ValueError(
              "reduceat only supported for functions returning a single value"
          )
      if out is not None:
          raise NotImplementedError(
              f"out argument of {self.__name__}.reduceat()"
          )
      return self._reduceat_via_scan(a, indices, axis=axis, dtype=dtype)
  
imports: from __future__ import annotations
  from functools import partial
  import math
  import operator
  from typing import Any, Callable
  import jax
  from jax._src.typing import Array, ArrayLike, DTypeLike
  from jax._src.lax import lax
  from jax._src.numpy import reductions
  from jax._src.numpy.lax_numpy import _eliminate_deprecated_list_indexing, append, take
  from jax._src.numpy.reductions import _moveaxis
  from jax._src.numpy.util import _wraps, check_arraylike, _broadcast_to, _where
  from jax._src.numpy.vectorize import vectorize
  from jax._src.util import canonicalize_axis, set_module
  import numpy
label_desc: Use image node_id 12 for calling the ufunc obj's underlying member method code with example usage: obj.reduceat(a, indices, axis, dtype, out) and returns: self