class_docstr: Initializes by sampling from a truncated normal distribution.
code: def __call__(self, shape: Sequence[int], dtype: Any) -> jax.Array:
      real_dtype = jnp.finfo(dtype).dtype
      m = jax.lax.convert_element_type(self.mean, dtype)
      s = jax.lax.convert_element_type(self.stddev, real_dtype)
      is_complex = jnp.issubdtype(dtype, jnp.complexfloating)
      if is_complex:
          shape = [2, *shape]
      unscaled = jax.random.truncated_normal(
          hk.next_rng_key(), self.lower, self.upper, shape, real_dtype
      )
      if is_complex:
          unscaled = unscaled[0] + 1j * unscaled[1]
      return s * unscaled + m
  
imports: from collections.abc import Sequence
  from typing import Any, Union
  from haiku._src import base
  from haiku._src.typing import Initializer
  import jax
  import jax.numpy
  import numpy
label_desc: Use image node_id 2 for calling the TruncatedNormal obj's underlying member method code with example usage: obj.__call__(shape, dtype) and returns: unknown