def test_create_random_state(): np = pytest.importorskip('numpy') rs = np.random.RandomState assert isinstance(create_random_state(1), rs) assert isinstance(create_random_state(None), rs) assert isinstance(create_random_state(np.random), rs) assert isinstance(create_random_state(rs(1)), rs) pytest.raises(ValueError, create_random_state, 'a') assert np.all((rs(1).rand(10) == create_random_state(1).rand(10)))
def _random_state(func, *args, **kwargs): # Parse the decorator arguments. try: random_state_arg = args[random_state_index] except TypeError as e: raise nx.NetworkXError("random_state_index must be an integer") from e except IndexError as e: raise nx.NetworkXError("random_state_index is incorrect") from e # Create a numpy.random.RandomState instance random_state = create_random_state(random_state_arg) # args is a tuple, so we must convert to list before modifying it. new_args = list(args) new_args[random_state_index] = random_state return func(*new_args, **kwargs)
def _random_state(func, *args, **kwargs): # Parse the decorator arguments. try: random_state_arg = args[random_state_index] except TypeError: raise nx.NetworkXError("random_state_index must be an integer") except IndexError: raise nx.NetworkXError("random_state_index is incorrect") # Create a numpy.random.RandomState instance random_state = create_random_state(random_state_arg) # args is a tuple, so we must convert to list before modifying it. new_args = list(args) new_args[random_state_index] = random_state return func(*new_args, **kwargs)