Ejemplo n.º 1
0
 private void clearPseudoMoves()
 {
     PseudoPawnAboveMove.Clear();
     PseudoPawnBelowMove.Clear();
     PseudoKnightMove.Clear();
     PseudoKingMove.Clear();
     PseudoDiagAboveMove.Clear();
     PseudoDiagBelowMove.Clear();
     PseudoRectAboveMove.Clear();
     PseudoRectBelowMove.Clear();
 }
Ejemplo n.º 2
0
        protected void timeListAdd(UInt64 qTrials = 10000000UL)    //~35.56 MHz
        {
            var sw = TimerStart(nameof(List <Move> .Add), qTrials);

            for (var qTrial = 0UL; qTrial < qTrials; qTrial++)
            {
                PseudoPawnBelowMove.Add(Move.NullMove);
                if (qTrial % 1000 == 0)
                {
                    PseudoPawnBelowMove.Clear();
                }
            }

            TimerStop(sw, qTrials);
        }
Ejemplo n.º 3
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);
        }