def Q_rsqrt(number):
threehalfs = 1.5
x2 = number * 0.5
y = np.float32(number)
i = y.view(np.int32) # evil floating point bit level hacking
i = np.int32(0x5f3759df) - np.int32(i >> 1) # what the fuck?
y = i.view(np.float32)
y = y * (threehalfs - (x2 * y * y)) # 1st iteration
# y = y * (threehalfs - (x2 * y * y)) # 2nd iteration, this can be removed
return float(y)



































