code: def _exclude_homo_edges(
      edges: Tuple[torch.Tensor, torch.Tensor],
      edges_to_exclude: Tuple[torch.Tensor, torch.Tensor],
      assume_num_node_within_int32: bool,
  ):
      """Return the indices of edges to be included."""
      if assume_num_node_within_int32:
          val = edges[0] << 32 | edges[1]
          val_to_exclude = (
              edges_to_exclude[0] << 32 | edges_to_exclude[1]
          )
      else:
          # TODO: Add support for value > int32.
          raise NotImplementedError(
              "Values out of range int32 are not supported yet"
          )
      mask = ~isin(val, val_to_exclude)
      return torch.nonzero(mask, as_tuple=True)[0]
  
file_path: dgl/python/dgl/graphbolt/sampled_subgraph.py
imports: from typing import Dict, Tuple, Union
  import torch
  from dgl.utils import recursive_apply
  from .base import apply_to, CSCFormatBase, etype_str_to_tuple, isin
label_desc: Use image node_id 3 for calling a global function with example usage: _exclude_homo_edges(edges, edges_to_exclude, assume_num_node_within_int32) and returns: torch