/// <summary> /// Determine similarity. /// </summary> /// <param name="estimator">The estimator to compare against.</param> /// <returns>Similarity (percentage similar, zero is completely different, one is completely the same)</returns> /// <remarks>Zero is no similarity, one is completely similar.</remarks> public double?Similarity(IBitMinwiseHashEstimator <TEntity, TId, TCount> estimator) { if (estimator == null) { return(0.0D); } return(Extract() .Similarity(estimator.Extract())); }
/// <summary> /// Add an estimator /// </summary> /// <param name="estimator">The estimator to add.</param> /// <returns></returns> public void Add(IBitMinwiseHashEstimator <TEntity, TId, TCount> estimator) { Rehydrate( FullExtract() .Add( estimator?.FullExtract(), _configuration.FoldingStrategy, true)); }
/// <summary> /// Intersect an estimator /// </summary> /// <param name="estimator">The estimator to add.</param> /// <returns></returns> public void Intersect(IBitMinwiseHashEstimator <TEntity, TId, TCount> estimator) { Rehydrate(FullExtract().Intersect(estimator?.FullExtract(), _configuration.FoldingStrategy)); }