code: def test_binary_op_complex_tensor(self):
      def mul(x: complex, y: torch.Tensor):
          return x * y
  
      def add(x: complex, y: torch.Tensor):
          return x + y
  
      def eq(x: complex, y: torch.Tensor):
          return x == y
  
      def ne(x: complex, y: torch.Tensor):
          return x != y
  
      def sub(x: complex, y: torch.Tensor):
          return x - y
  
      def div(x: complex, y: torch.Tensor):
          return x - y
  
      ops = [mul, add, eq, ne, sub, div]
  
      for shape in [(1,), (2, 2)]:
          x = 0.71 + 0.71j
          y = torch.randn(shape, dtype=torch.cfloat)
          for op in ops:
              eager_result = op(x, y)
              scripted = torch.jit.script(op)
              jit_result = scripted(x, y)
              self.assertEqual(eager_result, jit_result)
  
imports: import torch
  import os
  import sys
  from torch.testing._internal.jit_utils import JitTestCase, execWrapper
  from torch.testing._internal.common_utils import IS_MACOS
  from typing import List, Dict
  from itertools import product
  from textwrap import dedent
  import cmath
label_desc: Use image node_id 14 for calling the TestComplex obj's underlying member method code with example usage: obj.test_binary_op_complex_tensor() and returns: unknown, unknown, unknown, unknown, unknown, unknown