예제 #1
0
 /// <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()));
 }
예제 #2
0
 /// <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));
 }
예제 #3
0
 /// <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));
 }