MLE-Pacman/GenTunic/gen_math.py

37 lines
579 B
Python

import numpy as np
def project_bit(bit):
n = len(bit)
q_min = 0.01
q_max = 0.5
reverse_bit = np.flip(bit)
dec = np.uint64(0)
for i in range(n):
dec += np.uint64(2)**i * reverse_bit[i]
q = q_min + ((q_max - q_min) / (2**n - 1)) * dec
return q
def bit_to_grey(bit):
grey = [bit[0]]
for i in range(1, len(bit)):
grey.append(bit[i-1] ^ bit[i])
return np.array(grey)
def grey_to_bit(grey):
bit = [grey[0]]
for i in range(1, len(grey)):
bit.append(bit[i-1] ^ grey[i])
return np.array(bit)