public virtual void Init() { logger.Debug(new DateTime()); initialized = false; board.StartPosition(); sortInfo.Clear(); logger.Debug("Creating Evaluator"); string evaluatorName = config.GetEvaluator(); if ("simplified".Equals(evaluatorName)) { evaluator = new SimplifiedEvaluator(); } else { if ("complete".Equals(evaluatorName)) { evaluator = new CompleteEvaluator(config); } else { if ("experimental".Equals(evaluatorName)) { evaluator = new ExperimentalEvaluator(config); } } } int size = BitboardUtils.Square2Index(Sharpen.Extensions.ValueOf(config.GetTranspositionTableSize ())) + 16; logger.Debug("Creating TT"); // tt = new TwoTierTranspositionTable(size); // tt = new MultiprobeTranspositionTableNew(size); tt = new MultiprobeTranspositionTable(size); initialized = true; logger.Debug(config.ToString()); }
public virtual void Destroy() { config = null; observer = null; tt = null; evaluator = null; sortInfo = null; if (moveIterators != null) { for (int i = 0; i < MAX_DEPTH; i++) { moveIterators[i] = null; } } System.GC.Collect(); }