Made hamming_distance() a little more general.

This commit is contained in:
Davis King 2017-10-29 08:57:52 -04:00
parent bc37789144
commit 6d5ad339c7

View File

@ -54,6 +54,26 @@ namespace dlib
return count_bits(a^b);
}
// ----------------------------------------------------------------------------------------
template <
typename T
>
T hamming_distance (
const std::pair<T,T>& a,
const std::pair<T,T>& b
)
/*!
requires
- T is an unsigned integral type or a std::pair that, recursively, eventually
contains unsigned integral types.
ensures
- returns the number of bits which differ between a and b.
!*/
{
return hamming_distance(a.first,b.first) + hamming_distance(a.second, b.second);
}
// ----------------------------------------------------------------------------------------
}