class_docstr: Provides a light-memory access to a possibly huge list of permutations
  (at the cost of being slightly slower)
class_docstr_tok: ["Provides","a","light-memory","access","to","a","possibly","huge","list","of","permutations","(","at","the","cost","of","being","slightly","slower",")"]
code: def __init__(
      self,
      dimension: int,
      scrambling: bool = False,
      random_state: tp.Optional[RandomState] = None,
  ) -> None:
      if random_state is None:
          random_state = np.random.RandomState(
              np.random.randint(2**32, dtype=np.uint32)
          )
      self.dimension = dimension
      self.scrambling = scrambling
      self.primes = _get_first_primes(dimension).tolist()
      self.seed = random_state.randint(2**32, dtype=np.uint32)
      self.fulllist = np.arange(self.primes[-1]) if self.primes else []
  
imports: import numpy
  from numpy.random import RandomState
  import nevergrad.common.typing
  from nevergrad.common.decorators import Registry
label_desc: Use image node_id 1 to create a new HaltonPermutationGenerator object  with example: obj = HaltonPermutationGenerator(dimension, scrambling, random_state)