code: def _VariableRankTests(
      self, tf_scatter, repeat_indices=False, updates_are_scalar=False
  ):
      vtypes = [np.float32, np.float64, dtypes.bfloat16.as_numpy_dtype]
      if tf_scatter != state_ops.scatter_div:
          vtypes.append(np.int32)
          # float16 is numerically unstable for div
          vtypes.append(np.float16)
  
      for vtype in vtypes:
          for itype in (np.int32, np.int64):
              self._VariableRankTest(
                  tf_scatter,
                  vtype,
                  itype,
                  repeat_indices,
                  updates_are_scalar,
              )
  
imports: import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import ref_variable
  from tensorflow.python.ops import state_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
label_desc: Use image node_id 2 for calling the ScatterTest obj's underlying member method code with example usage: obj._VariableRankTests(tf_scatter, repeat_indices, updates_are_scalar) without return types