add similarity functions

This commit is contained in:
2025-01-29 23:08:47 +01:00
parent 2c9e13baaf
commit 609958bc69
2 changed files with 130 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
#include "Dna.hpp"
#include <vector>
namespace Similarity
{
// float euclidean_distance(Dna *d1, Dna *d2); direct distance betwen vector. wont give 0 and 1
// float dot_product(Dna *d1, Dna *d2); doent return betwen 0 to 1
float cosine_similarity(Dna *d1, Dna *d2);
float hamming_distance(Dna *d1, Dna *d2);
float jaccard_index(Dna *d1, Dna *d2);
float levenshtein_distance(Dna *d1, Dna *d2);
// float needleman_wunsch(Dna *d1, Dna *d2); used for bioinformatics and aligment. Dont need its aligned alredy
typedef float(simil_func)(Dna *d1, Dna *d2);
float calc_similarity(std::vector<Dna> vec, simil_func f);
}