class_docstr: Ancestor to all binary operators in this subfolder.
  
  Checks that input oud output types are the same.
class_docstr_tok: ["Ancestor","to","all","binary","operators","in","this","subfolder",".","Checks","that","input","oud","output","types","are","the","same","."]
docstr: Calls method ``OpRunBinary.run``, catches exceptions, displays a longer error message.
docstr_tok: ["Calls","method","``","OpRunBinary.run","``",",","catches","exceptions",",","displays","a","longer","error","message","."]
code: def run(self, x, y):  # type: ignore
      """Calls method ``OpRunBinary.run``, catches exceptions, displays a longer error message."""
      res = OpRunBinary.run(self, x, y)
      if res[0].dtype != x.dtype:
          raise RuntimeTypeError(
              f"Output type mismatch: {x.dtype} != {res[0].dtype} or {y.dtype} "
              f"(operator {self.__class__.__name__!r})"
              f" type(x)={type(x)} type(y)={type(y)}"
          )
      return self._check_and_fix_outputs(res)
  
imports: from typing import Any, Dict
  import numpy
  from onnx.onnx_pb import NodeProto
  from onnx.reference.op_run import OpRun, RuntimeTypeError
label_desc: Use image node_id 2 for calling the OpRunBinaryNum obj's underlying member method code with example usage: obj.run(x, y) and returns: self