docstr: Do a higher-precision matmul, casting either to float32 or float64.
docstr_tok: ["Do","a","higher-precision","matmul",",","casting","either","to","float32","or","float64","."]
code: def _high_precision_matmul(self, a, b, adjoint_b):
      """Do a higher-precision matmul, casting either to float32 or float64."""
      if a.dtype == dtypes.float16:
          a = math_ops.cast(a, dtypes.float32)
          b = math_ops.cast(b, dtypes.float32)
  
      ret = test_util.matmul_without_tf32(a, b, adjoint_b=adjoint_b)
      return math_ops.cast(ret, a.dtype)
  
imports: import numpy
  from tensorflow.python.client import session
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import benchmark
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling the InverseOpTest obj's underlying member method code with example usage: obj._high_precision_matmul(a, b, adjoint_b) and returns: math_ops