Test spawning new generators and bit_generators directly.
()
| 162 | |
| 163 | |
| 164 | def test_generator_spawning(): |
| 165 | """ Test spawning new generators and bit_generators directly. |
| 166 | """ |
| 167 | rng = np.random.default_rng() |
| 168 | seq = rng.bit_generator.seed_seq |
| 169 | new_ss = seq.spawn(5) |
| 170 | expected_keys = [seq.spawn_key + (i,) for i in range(5)] |
| 171 | assert [c.spawn_key for c in new_ss] == expected_keys |
| 172 | |
| 173 | new_bgs = rng.bit_generator.spawn(5) |
| 174 | expected_keys = [seq.spawn_key + (i,) for i in range(5, 10)] |
| 175 | assert [bg.seed_seq.spawn_key for bg in new_bgs] == expected_keys |
| 176 | |
| 177 | new_rngs = rng.spawn(5) |
| 178 | expected_keys = [seq.spawn_key + (i,) for i in range(10, 15)] |
| 179 | found_keys = [rng.bit_generator.seed_seq.spawn_key for rng in new_rngs] |
| 180 | assert found_keys == expected_keys |
| 181 | |
| 182 | # Sanity check that streams are actually different: |
| 183 | assert new_rngs[0].uniform() != new_rngs[1].uniform() |
| 184 | |
| 185 | |
| 186 | def test_spawn_negative_n_children(): |
nothing calls this directly
no test coverage detected
searching dependent graphs…