Example #1
0
        /// <summary>
        /// Compares object with Is Missing.
        /// </summary>
        /// <param name="stats">Sufficient Statistics.</param>
        /// <returns>Returns true if fount equals.</returns>
        public override bool Equals(SufficientStatistics stats)
        {
            if (stats == null)
            {
                return(false);
            }

            return(stats.IsMissing());
        }
        /// <summary>
        /// Compares a given SufficientStatistics object with the current object.
        /// </summary>
        /// <param name="stats">SufficientStatistics object to be compared.</param>
        /// <returns>True if both the objects are equal.</returns>
        public override bool Equals(SufficientStatistics stats)
        {
            if (stats == null)
            {
                throw new ArgumentNullException("stats");
            }

            if (IsMissing() && stats.IsMissing())
            {
                return(true);
            }

            return(this.AsGaussianStatistics().Equals(stats));  // let the most general class decide
        }
        /// <summary>
        /// Compares Sufficient Statistics.
        /// </summary>
        /// <param name="stats">Sufficient Statistics.</param>
        /// <returns>Returns true if equal.</returns>
        public override bool Equals(SufficientStatistics stats)
        {
            if (stats == null)
            {
                return(false);
            }

            if (IsMissing() && stats.IsMissing())
            {
                return(true);
            }

            GaussianStatistics gaussStats = stats.AsGaussianStatistics();

            return(_mean == gaussStats._mean && _variance == gaussStats._variance && _sampleSize == gaussStats._sampleSize);
        }
        /// <summary>
        /// Compares a given SufficientStatistics object with the current object.
        /// </summary>
        /// <param name="stats">SufficientStatistics object to be compared</param>
        /// <returns>True if both the objects are equal.</returns>
        public override bool Equals(SufficientStatistics stats)
        {
            if (stats == null)
            {
                throw new ArgumentNullException("stats");
            }

            if (stats.IsMissing())
            {
                return(IsMissing());
            }
            else if (stats is BooleanStatistics)
            {
                return(_value == stats.AsBooleanStatistics()._value);
            }
            else
            {
                return(stats.Equals(this));
            }
        }
        /// <summary>
        /// Compares Sufficient Statistics with Discrete Statistics and Boolean Statistics.
        /// </summary>
        /// <param name="stats">Sufficient Statistics.</param>
        /// <returns>Returns true if equal.</returns>
        public override bool Equals(SufficientStatistics stats)
        {
            if (stats == null)
            {
                return(false);
            }

            if (IsMissing() && stats.IsMissing())
            {
                return(true);
            }
            else if (stats is DiscreteStatistics)
            {
                return(this.Value == stats.AsDiscreteStatistics().Value);
            }
            else if (stats is BooleanStatistics)
            {
                return(this.Value == stats.AsDiscreteStatistics().Value);
            }
            else
            {
                return(stats.Equals(this));
            }
        }