Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
random_selector.hpp
Go to the documentation of this file.
1
12
13#ifndef RANDOM_SELECTOR_HPP
14#define RANDOM_SELECTOR_HPP
15
16#include <bits/stdc++.h>
17#include "../base/path.hpp"
18#include "../base/utils.hpp"
20using namespace std;
21
30 string START_LINE_COMPARATION_PRINT = "Functions: ";
31 string BETWEEN_TWO_FUNCTION = " AND ";
32 string BETWEEN_RELATIVE_AND_FUNCTION_NAME = "::";
33 string SIMILARITY_MESSAGE = ". Similarity: ";
34
35 Similarity_Table *similarity_table;
36 double minimum_similarity;
37 double maximum_similarity;
38 double maximum_quantity;
39
40 const int seed = 123456789;
41 mt19937 rng = mt19937(seed);
42
43 int processed_results = 0;
44
49 Utils::COLOR choose_text_color();
50
56 string format_path_message_in_pair(Path path);
57
63 bool is_valid_pair(tuple<double,Path,Path> path_pair);
64
69 vector<tuple<double,Path,Path>> get_similarity_pairs_filtered();
70
76 vector<tuple<double,Path,Path>> make_random_selection(vector<tuple<double,Path,Path>> path_pairs);
77
82 void print_path_pair(tuple<double,Path,Path> path_pair);
83
88 void print_path_pairs(vector<tuple<double,Path,Path>> path_pairs);
89
90 public:
99 Similarity_Table *_similarity_table,
100 double _minimum_similarity,
101 double _maximum_similarity,
102 double _maximum_quantity
103 );
104};
105
106#endif
Path manipulation class for tool-specific directory structure.
Definition path.hpp:24
Random_Selector(Similarity_Table *_similarity_table, double _minimum_similarity, double _maximum_similarity, double _maximum_quantity)
Constructs selector with configuration.
Manages and analyzes function similarity relationships.
COLOR
Enumeration of available colors for formatted messages.
Definition utils.hpp:94
Path abstraction for temporary codebase.
Similarity relationships storage and analysis.
Defines utility functions used across all files.