@stdlib/string-base-distances-hamming
v0.2.2
Published
Calculate the Hamming distance between two equal-length strings.
Downloads
34
Readme
hammingDistance
Calculate the Hamming distance between two equal-length strings.
Installation
npm install @stdlib/string-base-distances-hamming
Usage
var hammingDistance = require( '@stdlib/string-base-distances-hamming' );
hammingDistance( s1, s2 )
Calculates the Hamming distance between two equal-length strings.
var dist = hammingDistance( 'frog', 'from' );
// returns 1
dist = hammingDistance( 'tooth', 'froth' );
// returns 2
dist = hammingDistance( 'cat', 'cot' );
// returns 1
dist = hammingDistance( '', '' );
// returns 0
dist = hammingDistance( '1638452297', '2311638451' );
// returns 10
Notes
- If the two strings differ in length, the Hamming distance is not defined. Consequently, when provided two input strings of unequal length, the function returns a sentinel value of
-1
. - As the function calculates the Hamming distance by comparing UTF-16 code units, the function should behave as expected for strings composed of most characters. However, the function is likely to not behave as expected if strings contain visual characters composed of multiple Unicode code points, such as certain mathematical symbols and grapheme clusters (e.g., emojis).
Examples
var hammingDistance = require( '@stdlib/string-base-distances-hamming' );
var dist = hammingDistance( 'algorithms', 'altruistic' );
// returns 7
dist = hammingDistance( 'elephant', 'Tashkent' );
// returns 6
dist = hammingDistance( 'javascript', 'typescript' );
// returns 4
dist = hammingDistance( 'hamming', 'ladybug' );
// returns 5
Notice
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
Community
License
See LICENSE.
Copyright
Copyright © 2016-2024. The Stdlib Authors.