From 15e1a07d56ff6e541a953372a4427f4494a87e68 Mon Sep 17 00:00:00 2001 From: Erwin Lansing Date: Wed, 20 Aug 2003 06:56:11 +0000 Subject: [PATCH] Add p5-Algorithm-Numerical-Shuffle 1.4, shuffle a list. Shuffle is a perl module which performs a one pass, fair shuffle on a list. If the list is passed as a reference to an array, the shuffle is done in situ. The running time of the algorithm is linear in the size of the list. For an in situ shuffle, the memory overhead is constant; otherwise, linear extra memory is used. The algorithm used is discussed by Knuth [3]. It was first published by Fisher and Yates [2], and later by Durstenfeld [1]. PR: 55574 Submitted by: andrew@scoop.co.nz --- devel/Makefile | 1 + devel/p5-Algorithm-Numerical-Shuffle/Makefile | 24 +++++++++++++++++++ devel/p5-Algorithm-Numerical-Shuffle/distinfo | 1 + .../p5-Algorithm-Numerical-Shuffle/pkg-descr | 13 ++++++++++ .../p5-Algorithm-Numerical-Shuffle/pkg-plist | 7 ++++++ 5 files changed, 46 insertions(+) create mode 100644 devel/p5-Algorithm-Numerical-Shuffle/Makefile create mode 100644 devel/p5-Algorithm-Numerical-Shuffle/distinfo create mode 100644 devel/p5-Algorithm-Numerical-Shuffle/pkg-descr create mode 100644 devel/p5-Algorithm-Numerical-Shuffle/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index 05388df8119a..506542ae86eb 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -465,6 +465,7 @@ SUBDIR += p5-Algorithm-Diff SUBDIR += p5-Algorithm-MDiff SUBDIR += p5-Algorithm-MarkovChain + SUBDIR += p5-Algorithm-Numerical-Shuffle SUBDIR += p5-Algorithm-Permute SUBDIR += p5-Alias SUBDIR += p5-App-Info diff --git a/devel/p5-Algorithm-Numerical-Shuffle/Makefile b/devel/p5-Algorithm-Numerical-Shuffle/Makefile new file mode 100644 index 000000000000..9f61d50aebcd --- /dev/null +++ b/devel/p5-Algorithm-Numerical-Shuffle/Makefile @@ -0,0 +1,24 @@ +# New ports collection makefile for: p5-Algorithm-Numerical-Shuffle +# Date created: 14 August 2003 +# Whom: andrew@scoop.co.nz +# +# $FreeBSD$ +# + +PORTNAME= Algorithm-Numerical-Shuffle +PORTVERSION= 1.4 +CATEGORIES= devel perl5 +MASTER_SITES= ${MASTER_SITE_PERL_CPAN} +MASTER_SITE_SUBDIR= ../by-authors/id/A/AB/ABIGAIL +PKGNAMEPREFIX= p5- +DISTNAME= Shuffle-${PORTVERSION} +EXTRACT_SUFX= .tgz + +MAINTAINER= andrew@scoop.co.nz +COMMENT= Shuffle a list + +PERL_CONFIGURE= yes + +MAN3= Algorithm::Numerical::Shuffle.3 + +.include diff --git a/devel/p5-Algorithm-Numerical-Shuffle/distinfo b/devel/p5-Algorithm-Numerical-Shuffle/distinfo new file mode 100644 index 000000000000..6909d7fc03df --- /dev/null +++ b/devel/p5-Algorithm-Numerical-Shuffle/distinfo @@ -0,0 +1 @@ +MD5 (Shuffle-1.4.tgz) = 199d2adad2d4b40291a7d1bf53285279 diff --git a/devel/p5-Algorithm-Numerical-Shuffle/pkg-descr b/devel/p5-Algorithm-Numerical-Shuffle/pkg-descr new file mode 100644 index 000000000000..f4d70df02696 --- /dev/null +++ b/devel/p5-Algorithm-Numerical-Shuffle/pkg-descr @@ -0,0 +1,13 @@ +Algorithm::Numerical::Shuffle +============================= + +Shuffle is a perl module which performs a one pass, fair shuffle on a +list. If the list is passed as a reference to an array, the shuffle +is done in situ. + +The running time of the algorithm is linear in the size of the list. +For an in situ shuffle, the memory overhead is constant; otherwise, +linear extra memory is used. + +The algorithm used is discussed by Knuth [3]. It was first published +by Fisher and Yates [2], and later by Durstenfeld [1]. diff --git a/devel/p5-Algorithm-Numerical-Shuffle/pkg-plist b/devel/p5-Algorithm-Numerical-Shuffle/pkg-plist new file mode 100644 index 000000000000..6f4558dbfd33 --- /dev/null +++ b/devel/p5-Algorithm-Numerical-Shuffle/pkg-plist @@ -0,0 +1,7 @@ +%%SITE_PERL%%/Algorithm/Numerical/Shuffle.pm +%%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/Numerical/Shuffle/.packlist +@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/Numerical/Shuffle +@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm/Numerical 2>/dev/null || true +@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Algorithm 2>/dev/null || true +@unexec rmdir %D/%%SITE_PERL%%/Algorithm/Numerical 2>/dev/null || true +@unexec rmdir %D/%%SITE_PERL%%/Algorithm 2>/dev/null || true