public void TestDiagonalValues() { TestingHelper helper = new TestingHelper(); Initialiser bitboards = new Initialiser(); UInt64[] rankDiags = bitboards.InitialiseRankDiagonals(); UInt64 diag = rankDiags[0] << 18; string boardString = helper.BitboardToBoardString(diag); Debug.WriteLine(boardString); }
public void TestFirstSquareOfDiagonal() { TestingHelper helper = new TestingHelper(); Initialiser bitboards = new Initialiser(); UInt64[] rankDiags = bitboards.InitialiseRankDiagonals(); UInt64 diag = rankDiags[1]; UInt64 firstSquare = diag & ~(diag - 1); // OptimiseTODO: consider bit-shifting instead of log. see http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=bitManipulation int firstSquareIndex = (int)Math.Log(firstSquare, 2); Debug.WriteLine(firstSquareIndex); string boardString = helper.BitboardToBoardString(firstSquare); Debug.WriteLine(boardString); }
public void TestMS1B() { TestingHelper testingHelper = new TestingHelper(); Initialiser bitboards = new Initialiser(); UInt64[] rankDiags = bitboards.InitialiseRankDiagonals(); UInt64 diag = Constants.MainDiagonal; //rankDiags[1]; BitHelper bitHelper = new BitHelper(); UInt64 ms1b = bitHelper.GetMostSignificant1Bit(diag); Debug.WriteLine("Diagonal:"); Debug.WriteLine(testingHelper.BitboardToBoardString(diag)); Debug.WriteLine("MS1B:"); Debug.WriteLine(testingHelper.BitboardToBoardString(ms1b)); }
public void TestMS1BMask() { TestingHelper testingHelper = new TestingHelper(); Initialiser bitboards = new Initialiser(); UInt64[] rankDiags = bitboards.InitialiseRankDiagonals(); UInt64 diag = rankDiags[1]; BitHelper bitHelper = new BitHelper(); UInt64 mask = bitHelper.GetMostSignificant1BitMask(diag); Debug.WriteLine("Diagonal:"); Debug.WriteLine(testingHelper.BitboardToBoardString(diag)); Debug.WriteLine("Mask:"); Debug.WriteLine(testingHelper.BitboardToBoardString(mask)); }
public void TestMS1BIndex() { TestingHelper testingHelper = new TestingHelper(); Initialiser bitboards = new Initialiser(); UInt64[] rankDiags = bitboards.InitialiseRankDiagonals(); UInt64 diag = rankDiags[1]; BitHelper bitHelper = new BitHelper(); int ms1bIndex = BitHelper.GetMostSignificant1BitIndex2(diag); // bitHelper.GetMostSignificant1BitIndex(diag); Debug.WriteLine("Diagonal:"); Debug.WriteLine(testingHelper.BitboardToBoardString(diag)); }