code: def cast_config_generator():
      np.random.seed(1984)
  
      for rank in range(1, 6):
          shape = np.random.randint(low=2, high=5, size=rank)
          source_val = np.random.rand(*shape).astype(np.float16)
          params = {
              "source_val": source_val,
              "output_dtype": "fp32",
          }
          yield params
  
imports: import itertools
  import numpy
  import pytest
  from coremltools.converters.mil import testing_reqs
  from coremltools.converters.mil.mil import Builder
  from coremltools.converters.mil.mil import types
  from coremltools.converters.mil.mil.ops.defs.iOS16 import constexpr_ops
  from coremltools.converters.mil.mil.ops.tests.iOS16 import backends
  from coremltools.converters.mil.mil.ops.tests.testing_utils import run_compare_builder
  from coremltools.converters.mil.testing_utils import get_op_types_in_program, ssa_fn
label_desc: Use image node_id 3 for calling the TestConstexprCast obj's underlying member method code with example usage: obj.cast_config_generator() without return types