/// <summary>
        /// Calculates detailed (separated into individual components and colors) board evaluation.
        /// </summary>
        /// <returns>The board evaluation data.</returns>
        public DetailedEvaluationData GetDetailedEvaluation()
        {
            if (!_calculated)
            {
                throw new BitboardNotCalculatedException();
            }

            return(EvaluationCalculator.GetDetailedEvaluation(this));
        }
        /// <summary>
        /// Calculates board evaluation.
        /// </summary>
        /// <returns>The board evaluation data.</returns>
        public int GetEvaluation()
        {
            if (!_calculated)
            {
                throw new BitboardNotCalculatedException();
            }

            return(EvaluationCalculator.GetEvaluation(this));
        }