Skip to content

Instantly share code, notes, and snippets.

@TACIXAT
Created November 28, 2016 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TACIXAT/ab9abb265971590a1f15fb62483374bd to your computer and use it in GitHub Desktop.
Save TACIXAT/ab9abb265971590a1f15fb62483374bd to your computer and use it in GitHub Desktop.
def reverse17(val):
return val ^ (val >> 17) ^ (val >> 34) ^ (val >> 51)
def reverse23(val):
return (val ^ (val << 23) ^ (val << 46)) & 0xFFFFFFFFFFFFFFF
def xs128p_backward(state0, state1):
prev_state1 = state0
prev_state0 = state1 ^ (state0 >> 26)
prev_state0 = prev_state0 ^ state0
prev_state0 = reverse17(prev_state0)
prev_state0 = reverse23(prev_state0)
generated = (prev_state0 + prev_state1) & 0xFFFFFFFFFFFFFFFF
return prev_state0, prev_state1, generated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment