public static void makeRankR()
	{
		for ( int sq = 0; sq < 8; ++sq )
		{
			for ( int i = 0; i < 128; i += 2 )
			{
				int rr = 0;
				int j;
				for ( j = sq - 1; j >= 0; --j )
				{
					rr |= (1L << j);
					if ( (i & (1L << j)) == 0 )  // the 1 bits are the free squares
						break;
				}
				for ( j = sq + 1; j < 8; ++j )
				{
					rr |= (1L << j);
					if ( (i & (1L << j)) == 0 )  // the 1 bits are the free squares
						break;
				}
				rankR[sq][i  ] = rr;
				rankR[sq][i+1] = rr;
			}
		}
	}