-
-
10 Feb 2017 19:31:23 UTC
- Distribution: Text-Levenshtein-Damerau-XS
- Module version: 3.2
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Repository
- Issues (1)
- Testers (662 / 0 / 30)
- Kwalitee
Bus factor: 0- 93.33% Coverage
- License: perl_5
- Perl: v5.8.8
- Activity
24 month- Tools
- Download (13.8KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- unknown
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Text::Levenshtein::Damerau::XS - XS Damerau Levenshtein edit distance.
SYNOPSIS
use Text::Levenshtein::Damerau::XS qw/xs_edistance/; print xs_edistance('Neil','Niel'); # prints 1
DESCRIPTION
Returns the true Damerau Levenshtein edit distance of strings with adjacent transpositions. XS implementation (requires a C compiler). Works correctly with utf8.
use Text::Levenshtein::Damerau::XS qw/xs_edistance/; use utf8; xs_edistance('ⓕⓞⓤⓡ','ⓕⓤⓞⓡ'), # prints 1
Speed improvements over Text::Levenshtein::Damerau::PP:
# Text::Levenshtein::Damerau::PP::pp_edistance("four","fuor") timethis 1000000: 381 wallclock secs (380.45 usr + 0.01 sys = 380.46 CPU) @ 2628.40/s (n=1000000) # Text::Levenshtein::Damerau::XS::xs_edistance("four","fuor") timethis 1000000: 19 wallclock secs (19.43 usr + 0.00 sys = 19.43 CPU) @ 51466.80/s (n=1000000)
METHODS
xs_edistance
Arguments: source string and target string.
OPTIONAL 3rd argument int (max distance; only return results with $int distance or less). 0 = unlimited. Default = 0.
Returns: int that represents the edit distance between the two argument. Stops calculations and returns -1 if max distance is set and reached.
Wrapper function to take the edit distance between a source and target string using XS algorithm implementation.
use Text::Levenshtein::Damerau::XS qw/xs_edistance/; print xs_edistance('Neil','Niel'); # prints 1 # Max edit distance of 1 print xs_edistance('Neil','Niely',1); # distance is 2 # prints -1
TODO
Handle very large strings of text. Can be accomplished by reworking the scoring matrix or writing to disk.
Add from_file methods.
Add binary/byte string support.
SEE ALSO
BUGS
Please report bugs to:
https://rt.cpan.org/Public/Dist/Display.html?Name=Text-Levenshtein-Damerau-XS
AUTHOR
Nick Logan <ugexe@cpan.org>
LICENSE AND COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Module Install Instructions
To install Text::Levenshtein::Damerau::XS, copy and paste the appropriate command in to your terminal.
cpanm Text::Levenshtein::Damerau::XS
perl -MCPAN -e shell install Text::Levenshtein::Damerau::XS
For more information on module installation, please visit the detailed CPAN module installation guide.