Example #1
0
        public void ClearSearchCounts()
        {
#if UseKillers
            Bottle.Clear();
#endif                                  // UseKillers
            XPTank.Counts.Clear();
            QXPTank.Counts.Clear();
            PXPMemo.Counts.Clear();
            CXPMemo.Counts.Clear();

            NodeTotal            = PseudoMoveTotal =
                RepetitionPlies  = RepetitionSearches =
                    PinSkipTotal = QuietSkipTotal =
#if CountCapturedPiece
                        CapturedPieceTotal =
#endif
                        NullMoveTotal         = NullMovePruneTotal =
                            DeltaPruneTotal   = FutilePruneTotal = OccamPruneTotal =
                                CheckExtCount = ThreatExtCount = SingularExtCount =
                                    DrawTotal = MateTotal =
                                        WhiteSearchedPositionCount     = WhiteEarlyMoveTotal =
                                            BlackSearchedPositionCount = BlackEarlyMoveTotal =
                                                PVDoubleTotal          = PVSimpleTotal = PVSingleTotal = ZWSimpleTotal =
                                                    ReducedTotal       = TotalEvals = FullEvals =
                                                        LowerCount     = UpperCount = ExactCount =
#if QuiescentTryXP
                                                            XPGetHitsQxnt = XPGetReadsQxnt =
#endif
                                                            LegalMoves = LegalMovesQxnt = IllegalMoves = IllegalMovesQxnt = 0L;

            clearNodeDelta();           // See DisplayPrediction
            clearEarlyMoveCounts();     // Conditional
            clearPVDoubleCounts();      // Conditional
        }