/// <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)); } }