A C++ implementation of the Generalized Hamming Distance. A Lisp implementation can be found here. Note the change in terminology. The Lisp documentation uses the terms "Fuzzy Hamming Distance" and "Extended Hamming Distance." These terms refer to the same algorithm. The change in terminology is due to a journal reviewer's suggestion.

A paper on Generalized Hamming Distance can be downloaded from here.

The zip archive with the source code and the paper can be downloaded from here.