29 #ifndef CDPL_DESCR_SIMILARITYFUNCTORS_HPP
30 #define CDPL_DESCR_SIMILARITYFUNCTORS_HPP
138 template <
typename V>
260 alpha(alpha), beta(beta) {}
349 template <
typename V>
401 template <
typename V>
Provides functions for the calculation of various similarity and distance measures.
Functor class for calculating Cosine Similarities [WCOS] of bitsets and vectors.
Definition: SimilarityFunctors.hpp:98
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Cosine Similarity [WCOS] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:120
double operator()(const V &v1, const V &v2) const
Calculates the Cosine Similarity [WCOS] of the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:139
Functor class for calculating the Dice Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:218
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Dice Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:240
Functor class for calculating the Euclidean Distance [CITB] between bitsets and vectors.
Definition: SimilarityFunctors.hpp:361
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Euclidean Distance [CITB] between the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:383
double operator()(const V &v1, const V &v2) const
Calculates the Euclidean Distance [CITB] between the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:402
Functor class for calculating the Euclidean Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:150
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Euclidean Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:173
Functor class for calculating the Hamming Distance [WHAM, CITB] between bitsets.
Definition: SimilarityFunctors.hpp:300
std::size_t operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Hamming Distance [WHAM, CITB] between the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:322
Functor class for calculating the Manhattan Distance [MADI] between bitsets and vectors.
Definition: SimilarityFunctors.hpp:333
double operator()(const V &v1, const V &v2) const
Calculates the Manhattan Distance [MADI] between the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:350
Functor class for calculating the Manhattan Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:184
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Manhattan Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:207
Functor class for calculating Tanimoto Similarities [CITB] of bitsets and vectors.
Definition: SimilarityFunctors.hpp:46
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Tanimoto Similarity of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:68
double operator()(const V &v1, const V &v2) const
Calculates the Tanimoto Similarity of the vectors v1 and v2.
Definition: SimilarityFunctors.hpp:87
Functor class for calculating the Tversky Similarity [GSIM] of bitsets.
Definition: SimilarityFunctors.hpp:251
TverskySimilarity(double alpha=0.95, double beta=0.05)
Constructor.
Definition: SimilarityFunctors.hpp:259
double operator()(const Util::BitSet &bs1, const Util::BitSet &bs2) const
Calculates the Tversky Similarity [GSIM] of the bitsets bs1 and bs2.
Definition: SimilarityFunctors.hpp:285
constexpr unsigned int V
Specifies Vanadium.
Definition: AtomType.hpp:177
CDPL_DESCR_API double calcManhattanSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Manhattan Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcCosineSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Cosine Similarity [WCOS] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcTverskySimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2, double a, double b)
Calculates the Tversky Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcTanimotoSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Tanimoto Similarity [CITB] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcDiceSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Dice Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API double calcEuclideanSimilarity(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Euclidean Similarity [GSIM] of the bitsets bs1 and bs2.
CDPL_DESCR_API std::size_t calcHammingDistance(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Hamming Distance [WHAM, CITB] between the bitsets bs1 and bs2.
CDPL_DESCR_API double calcEuclideanDistance(const Util::BitSet &bs1, const Util::BitSet &bs2)
Calculates the Euclidean Distance [CITB] between the bitsets bs1 and bs2.
double calcManhattanDistance(const V &v1, const V &v2)
Calculates the Manhattan Distance [MADI] between the vectors v1 and v2.
Definition: SimilarityFunctions.hpp:310
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.