![]() |
Chemical Data Processing Library C++ API - Version 1.2.3
|
Functor class for calculating the Manhattan Similarity [GSIM] of bitsets. More...
#include <SimilarityFunctors.hpp>
Public Member Functions | |
double | operator() (const Util::BitSet &bs1, const Util::BitSet &bs2) const |
Calculates the Manhattan Similarity [GSIM] of the bitsets bs1 and bs2. More... | |
Functor class for calculating the Manhattan Similarity [GSIM] of bitsets.
|
inline |
Calculates the Manhattan Similarity [GSIM] of the bitsets bs1 and bs2.
The Manhattan Similarity \( S_{ab} \) is calculated by:
\[ S_{ab} = \frac{N_a + N_b}{N_a + N_b + N_{ab} + N_{!ab}} \]
where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are set only in the first bitset, \( N_b \) is the number of bits that are set only in the second bitset and \( N_{!ab} \) is the number of bits that are not set in both bitsets.
If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.
bs1 | The first bitset. |
bs2 | The second bitset. |