/// <summary> /// Merges the given CardinalityEstimator instances and returns the result /// </summary> /// <param name="estimators">Instances of CardinalityEstimator</param> /// <returns>The merged CardinalityEstimator</returns> public static CardinalityEstimator Merge(IList <CardinalityEstimator> estimators) { if (!estimators.Any()) { throw new ArgumentException(string.Format("Was asked to merge 0 instances of {0}", typeof(CardinalityEstimator)), "estimators"); } var ans = new CardinalityEstimator(estimators[0].bitsPerIndex); foreach (CardinalityEstimator estimator in estimators) { ans.Merge(estimator); } return(ans); }
/// <summary> /// Merges the given CardinalityEstimator instances and returns the result /// </summary> /// <param name="estimators">Instances of CardinalityEstimator</param> /// <returns>The merged CardinalityEstimator</returns> public static CardinalityEstimator Merge(IList <CardinalityEstimator> estimators) { if (!estimators.Any()) { throw new ArgumentException($"Was asked to merge 0 instances of {typeof(CardinalityEstimator)}", nameof(estimators)); } var ans = new CardinalityEstimator(estimators[0]._bitsPerIndex); foreach (CardinalityEstimator estimator in estimators) { ans.Merge(estimator); } return(ans); }