annotate 2.4/lib/perl5/x86_64-linux-gnu-thread-multi/Text/LevenshteinXS.pm @ 0:00b9898b8510 draft

Uploaded
author plus91-technologies-pvt-ltd
date Wed, 04 Jun 2014 03:41:27 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
1 package Text::LevenshteinXS;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
2
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
3 use strict;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
4 use warnings;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
5 use Carp;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
6
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
7 require Exporter;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
8 require DynaLoader;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
9 use AutoLoader;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
10
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
11 our @ISA = qw(Exporter DynaLoader);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
12
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
13 our %EXPORT_TAGS = ( 'all' => [ qw(
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
14
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
15 ) ] );
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
16
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
17 our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
18
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
19 our @EXPORT = qw(
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
20 distance
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
21 );
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
22 our $VERSION = '0.03';
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
23
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
24 bootstrap Text::LevenshteinXS $VERSION;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
25
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
26 1;
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
27 __END__
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
28
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
29 =head1 NAME
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
30
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
31 Text::LevenshteinXS - An XS implementation of the Levenshtein edit distance
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
32
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
33 =head1 SYNOPSIS
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
34
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
35 use Text::LevenshteinXS qw(distance);
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
36
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
37 print distance("foo","four");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
38 # prints "2"
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
39
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
40 print distance("foo","bar");
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
41 # prints "3"
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
42
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
43
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
44 =head1 DESCRIPTION
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
45
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
46 This module implements the Levenshtein edit distance in a XS way.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
47
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
48 The Levenshtein edit distance is a measure of the degree of proximity between two strings.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
49 This distance is the number of substitutions, deletions or insertions ("edits")
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
50 needed to transform one string into the other one (and vice versa).
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
51 When two strings have distance 0, they are the same.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
52 A good point to start is: <http://www.merriampark.com/ld.htm>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
53
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
54
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
55 =head1 CREDITS
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
56
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
57 All the credits go to Vladimir Levenshtein the author of the algorithm and to
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
58 Lorenzo Seidenari who made the C implementation <http://www.merriampark.com/ldc.htm>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
59
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
60
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
61 =head1 SEE ALSO
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
62
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
63 Text::Levenshtein , Text::WagnerFischer , Text::Brew , String::Approx
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
64
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
65
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
66 =head1 AUTHOR
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
67
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
68 Copyright 2003 Dree Mistrut <F<dree@friul.it>>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
69 Modifications Copyright 2004 Josh Goldberg <F<josh@3io.com>>
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
70
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
71 This package is free software and is provided "as is" without express
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
72 or implied warranty. You can redistribute it and/or modify it under
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
73 the same terms as Perl itself.
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
74
00b9898b8510 Uploaded
plus91-technologies-pvt-ltd
parents:
diff changeset
75 =cut