Adding port textproc/p5-Algorithm-RabinKarp, an implementation of Rabin and Karp's streaming hash, as described

in "Winnowing: Local Algorithms for Document Fingerprinting" by Schleimer,
Wilkerson, and Aiken.

Approved by:	tobez (implicit)
This commit is contained in:
Aaron Dalton 2006-05-24 17:47:11 +00:00
parent bd57d8de93
commit fb3f2c8920
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=163295
5 changed files with 55 additions and 0 deletions

View file

@ -302,6 +302,7 @@
SUBDIR += openvanilla-modules
SUBDIR += or-aspell
SUBDIR += p5-AI-Categorizer
SUBDIR += p5-Algorithm-RabinKarp
SUBDIR += p5-Apache-ParseLog
SUBDIR += p5-Apache-XBEL
SUBDIR += p5-Bloom-Filter

View file

@ -0,0 +1,28 @@
# New ports collection makefile for: p5-Algorithm-RabinKarp
# Date created: 24 May 2006
# Whom: Aaron Dalton <aaron@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= Algorithm-RabinKarp
PORTVERSION= 0.36
CATEGORIES= textproc perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= Algorithm
PKGNAMEPREFIX= p5-
MAINTAINER= aaron@FreeBSD.org
COMMENT= Rabin-Karp streaming hash
MAN3= Algorithm::RabinKarp.3
PERL_CONFIGURE= yes
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} < 500600
IGNORE= requres at least Perl 5.6. Please install lang/perl5.8 and try again
.endif
.include <bsd.port.post.mk>

View file

@ -0,0 +1,3 @@
MD5 (Algorithm-RabinKarp-0.36.tar.gz) = 24c57956e79634347bf32cdd1897d50f
SHA256 (Algorithm-RabinKarp-0.36.tar.gz) = 8f602cb66c02c09d075f845e2893be1c23ea048057c8f3c71dbf680102ee8d42
SIZE (Algorithm-RabinKarp-0.36.tar.gz) = 4255

View file

@ -0,0 +1,18 @@
This is an implementation of Rabin and Karp's streaming hash, as described
in "Winnowing: Local Algorithms for Document Fingerprinting" by Schleimer,
Wilkerson, and Aiken. Following the suggestion of Schleimer, I am using
their second equation:
$H[ $c[2..$k + 1] ] = (( $H[ $c[1..$k] ] - $c[1] ** $k ) + $c[$k+1] ) * $k
The results of this hash encodes information about the next k values in
the stream (hense k-gram.) This means for any given stream of length n
integer values (or characters), you will get back n - k + 1 hash values.
For best results, you will want to create a code generator that filters
your data to remove all unnecessary information. For example, in a large
english document, you should probably remove all white space, as well as
removing all capitalization.
WWW: http://search.cpan.org/dist/Algorithm-RabinKarp
Author: Norman Nunley <nnunley@gmail.com>

View file

@ -0,0 +1,5 @@
%%SITE_PERL%%/Algorithm/RabinKarp.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/RabinKarp/.packlist
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/RabinKarp
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm
@dirrmtry %%SITE_PERL%%/Algorithm