Beispiel #1
0
 private void clearPseudoMoves()
 {
     PseudoPawnAboveMove.Clear();
     PseudoPawnBelowMove.Clear();
     PseudoKnightMove.Clear();
     PseudoKingMove.Clear();
     PseudoDiagAboveMove.Clear();
     PseudoDiagBelowMove.Clear();
     PseudoRectAboveMove.Clear();
     PseudoRectBelowMove.Clear();
 }
Beispiel #2
0
        protected void timeAddPawnCapturesAndMoves(UInt64 qTrials = 10000000UL)    //~2690 KHz
        {
            var sw = TimerStart(nameof(addPawnMoves), qTrials);

            for (var qTrial = 0UL; qTrial < qTrials; qTrial++)
            {
                addPawnCaptures(Side[White], Side[Black].Piece);
                addPawnMoves(Side[White], ~RankPiece);

                addPawnCaptures(Side[Black], Side[White].Piece);
                addPawnMoves(Side[Black], ~RankPiece);

                PseudoPawnBelowCapture.Clear();
                PseudoPawnAboveCapture.Clear();

                PseudoPawnBelowMove.Clear();
                PseudoPawnAboveMove.Clear();
            }

            TimerStop(sw, qTrials);
        }