public void SimpleTest() { var algorithm = new MinHashAlgorithm(100, 4, 4, 100, 50); var calculator = new SimilarityCalculator(); var data1 = new int[1000]; var data2 = new int[1100]; for (var i = 0; i < data1.Length; i++) { data1[i] = 37 + i; } for (var i = 0; i < data2.Length; i++) { data2[i] = 113 + i; } var blocks1 = algorithm.CalculateBlocks(data1).ToList(); var blocks2 = algorithm.CalculateBlocks(data2).ToList(); for (var i = 0; i < blocks1.Count; i++) { for (int j = 0; j < blocks2.Count; j++) { var similarity = calculator.Calculate(blocks1[i], blocks2[j]); Console.Write((25 * similarity).ToString("00")); Console.Write(" "); } Console.WriteLine(); } }
public static IProcessingModule CreateCodeBaseProcessingModule(string basePath) { var baseSource = new FileSystemSource(basePath); var parser = new CsParser(); var algorithm = new MinHashAlgorithm(20, 8, 4, 15, 5); return(new CodeBaseProcessingModule(baseSource, parser, algorithm)); }
private static IProcessingModule CreateCodeBaseModule() { var basePath = @"C:\codebase"; var baseSource = new FileSystemSource(basePath); var parser = new CsParser(); var algorithm = new MinHashAlgorithm(20, 4, 4, 10, 5); var module = new CodeBaseProcessingModule(baseSource, parser, algorithm); return(module); }
public TokenListComparer(MinHashAlgorithm algorithm) { _algorithm = algorithm; _calculator = new SimilarityCalculator(); }
public CodeBaseProcessingModule(ISource source, IParser parser, MinHashAlgorithm algorithm) { _source = source; _parser = parser; _algorithm = algorithm; }