code: def _parameterized_truncated_normal(
      shape,
      means=0.0,
      stddevs=1.0,
      minvals=-2,
      maxvals=2.0,
      dtype=np.float32,
      seed=None,
      name=None,
  ):  # pylint: disable=unused-argument
      """Implementation of ops.random_ops.parameterized_truncated_normal."""
  
      # NOTE: The docstring for parameterized_truncated_normal is wrong.  The actual
      # requirements are:
      #  - Parameter `shape` must represent a shape with rank at least 1.
      #  - Parameters `means`, `stddevs`, `minvals`, `maxvals` can be rank 0 or
      #    rank 1.  If rank 1, then they must have shape `[shape[0]]`.
  
      def _right_expand(x, shape):
          if (np.ndim(x) == 0) or (np.ndim(x) >= len(shape)):
              return x
          # Add size-1 dimensions on the right to `x` so its rank is `len(shape)`.
          return np.reshape(x, np.shape(x) + (1,) * (len(shape) - 1))
  
      if JAX_MODE:
          min_z = (minvals - means) / stddevs
          max_z = (maxvals - means) / stddevs
  
          min_z = _right_expand(min_z, shape)
          max_z = _right_expand(max_z, shape)
          means = _right_expand(means, shape)
          stddevs = _right_expand(stddevs, shape)
  
          z = random.truncated_normal(
              seed, lower=min_z, upper=max_z, shape=shape, dtype=dtype
          )
          return z * stddevs + means
  
      raise NotImplementedError
  
file_path: probability/tensorflow_probability/python/internal/backend/numpy/private.py
imports: import contextlib
  import importlib
  import logging
  import types
  import numpy
  from tensorflow_probability.python.internal.backend.numpy import _utils
label_desc: Use image node_id 1 for calling a global function with example usage: _parameterized_truncated_normal(shape, means, stddevs, minvals, maxvals, dtype, seed, name) and returns: np, unknown, x