docstr: Tests CIR drift and volatility functions with different precision.
docstr_tok: ["Tests","CIR","drift","and","volatility","functions","with","different","precision","."]
code: def test_drift_and_volatility_different_dtypes(self, dtype):
      """Tests CIR drift and volatility functions with different precision."""
      theta = 0.04
      mean_reversion = 0.6
      sigma = 0.1
      process = tff.models.cir.CirModel(
          theta=theta,
          mean_reversion=mean_reversion,
          sigma=sigma,
          dtype=dtype,
      )
      drift_fn = process.drift_fn()
      volatility_fn = process.volatility_fn()
      state = np.array([[1.0], [3.0], [5.0]], dtype=dtype)
      with self.subTest("Drift"):
          drift = drift_fn(0.2, state)
          expected_drift = theta - mean_reversion * state
          self.assertAllClose(
              expected_drift, drift, atol=1e-7, rtol=1e-7
          )
          self.assertEqual((3, 1), drift.shape)
      with self.subTest("Volatility"):
          vol = volatility_fn(0.2, state)
          expected_vol = np.expand_dims(sigma * np.sqrt(state), axis=-1)
          self.assertAllClose(expected_vol, vol, atol=1e-7, rtol=1e-7)
          self.assertEqual((3, 1, 1), vol.shape)
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  import tf_quant_finance
  from tensorflow.python.framework import test_util
  from tf_quant_finance.math import random_ops
label_desc: Use image node_id 1 for calling the CirTest obj's underlying member method code with example usage: obj.test_drift_and_volatility_different_dtypes(dtype) without return types