code: def invalid_comparison(left, right, op):
      
      if op is operator.eq:
          res_values = np.zeros(left.shape, dtype=bool)
      elif op is operator.ne:
          res_values = np.ones(left.shape, dtype=bool)
      else:
          raise TypeError("Invalid comparison between dtype={dtype} and {typ}"
                          .format(dtype=left.dtype, typ=type(right).__name__))
      return res_values
docs: If a comparison has mismatched types and is not necessarily meaningful,
      follow python3 conventions by:
  
          - returning all-False for equality
          - returning all-True for inequality
          - raising TypeError otherwise
  
      Parameters
      ----------
      left : array-like
      right : scalar, array-like
      op : operator.{eq, ne, lt, le, gt}
  
      Raises
      ------
      TypeError : on inequality comparisons