public SimhashResult ComputeHash <THash, TRes>(string content, THash hash, Encoding encoding = null) where THash : IHash <TRes> where TRes : IHashResult <TRes> { var builder = new StringBuilder(content.Length); var shingles = Shingling.Tokenize(content, builder); return(ComputeHash <THash, TRes>(shingles, hash, encoding)); }
private static SimhashResult ComputeHash <THash, TRes>(this Simhash self, string content, THash hash) where THash : struct, IHash <TRes> where TRes : IHashResult <TRes> { var builder = new StringBuilder(content.Length); var shingles = Shingling.Tokenize(content, builder); return(self.ComputeHash <THash, TRes>(shingles, hash)); }