Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

networkx.utils.decorators.preserve_random_state

preserve_random_state(func)[source]

Decorator to preserve the numpy.random state during a function.

Parameters:func (function) – function around which to preserve the random state.
Returns:wrapper – Function which wraps the input function by saving the state before calling the function and restoring the function afterward.
Return type:function

Examples

Decorate functions like this:

@preserve_random_state
def do_random_stuff(x, y):
    return x + y * numpy.random.random()

Notes

If numpy.random is not importable, the state is not saved or restored.