示例#1
0
 private void clearPseudoCaptures()
 {
     PseudoPawnAboveCapture.Clear();
     PseudoPawnBelowCapture.Clear();
     PseudoKnightCapture.Clear();
     PseudoKingCapture.Clear();
     PseudoDiagAboveCapture.Clear();
     PseudoDiagBelowCapture.Clear();
     PseudoRectAboveCapture.Clear();
     PseudoRectBelowCapture.Clear();
 }
示例#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);
        }