to gray_encode :number output bitxor :number lshift :number -1 end to gray_decode :code local "value make "value 0 while [:code > 0] [ make "value bitxor :code :value make "code lshift :code -1 ] output :value end