parameters: (states, index, seed)
docstring: Use SplitMix64 to generate an xoroshiro128p state from 64-bit seed.
  
      This ensures that manually set small seeds don't result in a predictable
      initial sequence from the random number generator.
  
      :type states: 1D array, dtype=xoroshiro128p_dtype
      :param states: array of RNG states
      :type index: uint64
      :param index: offset in states to update
      :type seed: int64
      :param seed: seed value to use when initializing state
docstring_summary: Use SplitMix64 to generate an xoroshiro128p state from 64-bit seed.
docstring_tokens: Use SplitMix64 to generate an xoroshiro128p state from 64 - bit seed .
function: def init_xoroshiro128p_state(states, index, seed):
      '''Use SplitMix64 to generate an xoroshiro128p state from 64-bit seed.
  
      This ensures that manually set small seeds don't result in a predictable
      initial sequence from the random number generator.
  
      :type states: 1D array, dtype=xoroshiro128p_dtype
      :param states: array of RNG states
      :type index: uint64
      :param index: offset in states to update
      :type seed: int64
      :param seed: seed value to use when initializing state
      '''
      index = int64(index)
      seed = uint64(seed)
  
      z = seed + uint64(0x9E3779B97F4A7C15)
      z = (z ^ (z >> uint32(30))) * uint64(0xBF58476D1CE4E5B9)
      z = (z ^ (z >> uint32(27))) * uint64(0x94D049BB133111EB)
      z = z ^ (z >> uint32(31))
  
      states[index]['s0'] = z
      states[index]['s1'] = z
function_tokens: def init_xoroshiro128p_state ( states , index , seed ) : index = int64 ( index ) seed = uint64 ( seed ) z = seed + uint64 ( 0x9E3779B97F4A7C15 ) z = ( z ^ ( z >> uint32 ( 30 ) ) ) * uint64 ( 0xBF58476D1CE4E5B9 ) z = ( z ^ ( z >> uint32 ( 27 ) ) ) * uint64 ( 0x94D049BB133111EB ) z = z ^ ( z >> uint32 ( 31 ) ) states [ index ] [ 's0' ] = z states [ index ] [ 's1' ] = z