uvex_transients.utils.get_rng#

uvex_transients.utils.get_rng(rng: Generator | int | None = None) → Generator[source]#

Return a NumPy random-number generator.

This function accepts either an existing random-number generator, an integer seed, or None. It provides a consistent mechanism for constructing reproducible random-number generators throughout the package.

Parameters:

rng (numpy.random.Generator, int, or None, optional) –

Random-number source.

  • If a numpy.random.Generator is provided, it is returned unchanged.

  • If an integer is provided, a new generator is initialized using that value as the random seed.

  • If None is provided, a new generator is initialized using NumPy’s default entropy source.

Returns:

Random-number generator suitable for stochastic operations.

Return type:

numpy.random.Generator

Raises:

TypeError – If rng is not a numpy.random.Generator, an integer seed, or None.

Notes

Passing an existing generator is recommended when several stochastic operations should share the same reproducible random stream.