code: def standard_primitive(
      shape_rule,
      dtype_rule,
      name,
      weak_type_rule=None,
      named_shape_rule=None,
  ):
      weak_type_rule = weak_type_rule or _standard_weak_type_rule
      named_shape_rule = named_shape_rule or standard_named_shape_rule
      prim = core.Primitive(name)
      prim.def_impl(partial(dispatch.apply_primitive, prim))
      prim.def_abstract_eval(
          partial(
              standard_abstract_eval,
              prim,
              shape_rule,
              dtype_rule,
              weak_type_rule,
              named_shape_rule,
          )
      )
      return prim
  
file_path: jax/jax/_src/lax/utils.py
imports: from functools import partial
  import operator
  from jax._src import core
  from jax._src import dispatch
  from jax._src import dtypes
  from jax._src.util import safe_zip
  from jax._src.lib import xla_client
  import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: standard_primitive(shape_rule, dtype_rule, name, weak_type_rule, named_shape_rule) and returns: prim