def direction(x, n): assert x < 2 ** n if x == 0: return 0 elif x % 2 == 0: return utils.tsb(x - 1, n) % n else: return utils.tsb(x, n) % n
def direction(x, n): assert x < 2**n if x == 0: return 0 elif x % 2 == 0: return utils.tsb(x - 1, n) % n else: return utils.tsb(x, n) % n
def test_tsb(self): assert utils.tsb(1, 5) == 1 assert utils.tsb(2, 5) == 0 assert utils.tsb(3, 5) == 2 assert utils.tsb((2**5)-1, 5) == 5 assert utils.tsb(0, 5) == 0
def test_tsb(self): assert utils.tsb(1, 5) == 1 assert utils.tsb(2, 5) == 0 assert utils.tsb(3, 5) == 2 assert utils.tsb((2**5) - 1, 5) == 5 assert utils.tsb(0, 5) == 0