code: def test_precision(self, precision):
      def f(x):
          return basic.Linear(1)(x, precision=precision)
  
      f = transform.transform(f)
      rng = jax.random.PRNGKey(42)
      x = np.ones([1, 1])
      params = f.init(rng, x)
      c = (
          jax.jit(lambda x: f.apply(params, None, x))
          .lower(x)
          .compiler_ir(dialect="hlo")
      )
      hlo = c.as_hlo_text()
      op_line = next(l for l in hlo.split("\n") if "dot(" in l)
      if (
          precision is not None
          and precision != jax.lax.Precision.DEFAULT
      ):
          name = str(precision).lower()
          self.assertRegex(
              op_line, f"operand_precision={{{name},{name}}}"
          )
      else:
          self.assertNotIn("operand_precision", op_line)
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  from haiku._src import base
  from haiku._src import basic
  from haiku._src import test_utils
  from haiku._src import transform
  import jax
  from jax import random
  import jax.numpy
  import numpy
label_desc: Use image node_id 5 for calling the LinearTest obj's underlying member method code with example usage: obj.test_precision(precision) and returns: basic