Arkanjo 0.1
A tool for find code duplicated functions in codebases
Loading...
Searching...
No Matches
Similarity_Table Class Reference

Manages and analyzes function similarity relationships. More...

#include <similarity_table.hpp>

Public Member Functions

 Similarity_Table (double _similarity_threshold)
 Constructs with custom similarity threshold.
 
 Similarity_Table ()
 Constructs with default similarity threshold.
 
void update_similarity (double new_similarity_threshold)
 Updates similarity threshold.
 
double get_similarity (Path path1, Path path2)
 Gets similarity between two paths.
 
double is_similar (Path path1, Path path2)
 Checks if two paths are similar.
 
vector< Pathget_path_list ()
 Gets list of all known paths.
 
vector< Pathget_similar_path_to_the_reference (Path reference)
 Gets paths similar to reference path.
 
vector< tuple< double, Path, Path > > get_all_path_pairs_and_similarity_sorted_by_similarity ()
 Gets all similar path pairs with scores, sorted.
 
vector< pair< Path, Path > > get_all_similar_path_pairs_sorted_by_similarity ()
 Gets all similar path pairs, sorted by similarity.
 
vector< pair< Path, Path > > get_all_similar_path_pairs_sorted_by_line_number ()
 Gets all similar path pairs, sorted by line count.
 

Detailed Description

Manages and analyzes function similarity relationships.

Stores pairs of similar functions with their similarity scores, providing various query and analysis capabilities.

Definition at line 34 of file similarity_table.hpp.

Constructor & Destructor Documentation

◆ Similarity_Table() [1/2]

Similarity_Table::Similarity_Table ( double _similarity_threshold)

Constructs with custom similarity threshold.

Parameters
_similarity_thresholdInitial threshold value

Definition at line 48 of file similarity_table.cpp.

◆ Similarity_Table() [2/2]

Similarity_Table::Similarity_Table ( )

Constructs with default similarity threshold.

Definition at line 53 of file similarity_table.cpp.

Member Function Documentation

◆ get_all_path_pairs_and_similarity_sorted_by_similarity()

vector< tuple< double, Path, Path > > Similarity_Table::get_all_path_pairs_and_similarity_sorted_by_similarity ( )

Gets all similar path pairs with scores, sorted.

Returns
vector<tuple<double,Path,Path>> Similar pairs with scores

Definition at line 103 of file similarity_table.cpp.

◆ get_all_similar_path_pairs_sorted_by_line_number()

vector< pair< Path, Path > > Similarity_Table::get_all_similar_path_pairs_sorted_by_line_number ( )

Gets all similar path pairs, sorted by line count.

Returns
vector<pair<Path,Path>> Similar path pairs

Definition at line 144 of file similarity_table.cpp.

◆ get_all_similar_path_pairs_sorted_by_similarity()

vector< pair< Path, Path > > Similarity_Table::get_all_similar_path_pairs_sorted_by_similarity ( )

Gets all similar path pairs, sorted by similarity.

Returns
vector<pair<Path,Path>> Similar path pairs

Definition at line 116 of file similarity_table.cpp.

◆ get_path_list()

vector< Path > Similarity_Table::get_path_list ( )

Gets list of all known paths.

Returns
vector<Path> All paths in table

Definition at line 88 of file similarity_table.cpp.

◆ get_similar_path_to_the_reference()

vector< Path > Similarity_Table::get_similar_path_to_the_reference ( Path reference)

Gets paths similar to reference path.

Parameters
referencePath to compare against
Returns
vector<Path> Similar paths

Definition at line 92 of file similarity_table.cpp.

◆ get_similarity()

double Similarity_Table::get_similarity ( Path path1,
Path path2 )

Gets similarity between two paths.

Parameters
path1First path to compare
path2Second path to compare
Returns
double Similarity score

Definition at line 62 of file similarity_table.cpp.

◆ is_similar()

double Similarity_Table::is_similar ( Path path1,
Path path2 )

Checks if two paths are similar.

Parameters
path1First path to compare
path2Second path to compare
Returns
bool True if paths are similar

Definition at line 83 of file similarity_table.cpp.

◆ update_similarity()

void Similarity_Table::update_similarity ( double new_similarity_threshold)

Updates similarity threshold.

Parameters
new_similarity_thresholdNew threshold value

Definition at line 58 of file similarity_table.cpp.


The documentation for this class was generated from the following files: