Example #1
0
        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));
        }
Example #3
0
        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);
        }
Example #4
0
 public TokenListComparer(MinHashAlgorithm algorithm)
 {
     _algorithm  = algorithm;
     _calculator = new SimilarityCalculator();
 }
 public CodeBaseProcessingModule(ISource source, IParser parser, MinHashAlgorithm algorithm)
 {
     _source    = source;
     _parser    = parser;
     _algorithm = algorithm;
 }