0.2.1 • Published 2 months ago

@stdlib/string-base-distances-hamming v0.2.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 months ago

hammingDistance

NPM version Build Status Coverage Status

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

Chat


License

See LICENSE.

Copyright

Copyright © 2016-2024. The Stdlib Authors.