code: def _fill_indices(
      self,
      idx,
      dim,
      dim_size,
      elems_per_row,
      m,
      n,
      o,
      unique_indices=True,
  ):
      for i in range(1 if dim == 0 else m):
          for j in range(1 if dim == 1 else n):
              for k in range(1 if dim == 2 else o):
                  ii = [i, j, k]
                  ii[dim] = slice(0, idx.size(dim) + 1)
                  if unique_indices:
                      idx[tuple(ii)] = torch.randperm(dim_size)[
                          0:elems_per_row
                      ]
                  else:
                      idx[tuple(ii)] = torch.randint(
                          dim_size, (elems_per_row,)
                      )
  
imports: import random
  import torch
  from torch.testing import make_tensor
  from torch.testing._internal.common_utils import parametrize, run_tests, TestCase, DeterministicGuard
  from torch.testing._internal.common_device_type import instantiate_device_type_tests, onlyCPU, dtypes, dtypesIfCUDA, toleranceOverride, tol
  from torch.testing._internal.common_dtype import get_all_dtypes
label_desc: Use image node_id 1 for calling the TestScatterGather obj's underlying member method code with example usage: obj._fill_indices(idx, dim, dim_size, elems_per_row, m, n, o, unique_indices) without return types