code: def testFindsAllRootsUsingFloat16(self):
      left_bracket = [-2, 1]
      right_bracket = [2, -1]
      expected_num_iterations = [9, 4]
  
      expected_num_iterations, result = self.evaluate(
          [
              tf.constant(expected_num_iterations, dtype=tf.int32),
              brentq(
                  polynomial5,
                  tf.constant(left_bracket, dtype=tf.float16),
                  tf.constant(right_bracket, dtype=tf.float16),
              ),
          ]
      )
  
      _, value_at_roots, num_iterations, _ = result
  
      # Simply check that the objective function is close to the root for the
      # returned estimates. Do not check the estimates themselves.
      # Using float16 may yield root estimates which differ from those returned
      # by the SciPy implementation.
      self.assertAllClose(value_at_roots, [0.0, 0.0], atol=1e-3)
      self.assertAllEqual(num_iterations, expected_num_iterations)
  
imports: import math
  import tensorflow.compat.v2
  import tf_quant_finance
  from tensorflow.python.framework import test_util
  from tf_quant_finance.math.root_search import utils
label_desc: Use image node_id 5 for calling the BrentqTest obj's underlying member method code with example usage: obj.testFindsAllRootsUsingFloat16() without return types