bit* monomeLeds = new bit[256] //256 bits bit** transform90 = { 0xf0000000000000000, 0xf00000000000000, ... } //256 arrays of 256 bits bit* transform90(bit* monomeMap) { bit* monomeMapTransformed = new bit[256] for(int i=0: i<256: i++) { *bit next = monomeMapTransformed+i *next = *monomeMap & *(transform90+i) //logical & over 256 bits } return monomeMapTransformed }