This Haskell package contains code for generating high quality random

numbers that follow either a uniform or normal distribution. The
generated numbers are suitable for use in statistical applications.

The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
multiply-with-carry generator, which has a period of 2^8222 and
fares well in tests of randomness. It is also extremely fast,
between 2 and 3 times faster than the Mersenne Twister.

WWW: http://darcs.serpentine.com/mwc-random

PR:		ports/142293
Submitted by:	Jacula Modyun <jacula(at)gmail.com>
This commit is contained in:
Gabor Pali 2010-01-04 09:32:22 +00:00
parent 67b15ca0bf
commit af23ae58e7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=247119
5 changed files with 116 additions and 0 deletions

View file

@ -116,6 +116,7 @@
SUBDIR += hs-Agda-executable
SUBDIR += hs-category-extras
SUBDIR += hs-erf
SUBDIR += hs-mwc-random
SUBDIR += hs-probability
SUBDIR += igraph
SUBDIR += isabelle

View file

@ -0,0 +1,83 @@
# New ports collection makefile for: hs-mwc-random
# Date created: January 03 2010
# Whom: Giuseppe Pilichi aka Jacula Modyun <jacula@gmail.com>
#
# $FreeBSD$
#
PORTNAME= mwc-random
PORTVERSION= 0.4.1.1
CATEGORIES= math haskell
MASTER_SITES= http://hackage.haskell.org/packages/archive/${PORTNAME}/${PORTVERSION}/
PKGNAMEPREFIX= hs-
MAINTAINER= jacula@gmail.com
COMMENT= Fast, high quality pseudo random number generation in Haskell
BUILD_DEPENDS+= ghc:${PORTSDIR}/lang/ghc \
hs-uvector>=0.1.0.4:${PORTSDIR}/devel/hs-uvector
RUN_DEPENDS+= ghc:${PORTSDIR}/lang/ghc \
hs-uvector>=0.1.0.4:${PORTSDIR}/devel/hs-uvector
GHC_VERSION= 6.10.4
MWCRANDOM_VERSION= ${PORTVERSION}
GHC_CMD= ${LOCALBASE}/bin/ghc
SETUP_CMD= ./setup
DATADIR= ${PREFIX}/share/${DISTNAME}
PORTDATA= *
DOCSDIR= ${PREFIX}/share/doc/${DISTNAME}
MWCRANDOM_LIBDIR_REL= lib/${DISTNAME}
PLIST_SUB= GHC_VERSION=${GHC_VERSION} \
MWCRANDOM_VERSION=${MWCRANDOM_VERSION} \
MWCRANDOM_LIBDIR_REL=${MWCRANDOM_LIBDIR_REL}
.if defined(NOPORTDOCS)
PLIST_SUB+= NOPORTDOCS=""
.else
PLIST_SUB+= NOPORTDOCS="@comment "
.endif
.if !defined(NOPORTDOCS)
PORT_HADDOCK!= (cd ${.CURDIR}/../../lang/ghc && ${MAKE} -V PORT_HADDOCK)
.if !empty(PORT_HADDOCK:M?0)
BUILD_DEPENDS+= haddock:${PORTSDIR}/devel/hs-haddock
.endif
BUILD_DEPENDS+= HsColour:${PORTSDIR}/print/hs-hscolour
HSCOLOUR_VERSION= 1.15
HSCOLOUR_DATADIR= ${PREFIX}/share/hscolour-${HSCOLOUR_VERSION}
PORTDOCS= *
.endif
.SILENT:
do-configure:
cd ${WRKSRC} && ${GHC_CMD} --make Setup.lhs -o setup -package Cabal \
&& ${SETUP_CMD} configure --haddock-options=-w --prefix=${PREFIX}
do-build:
cd ${WRKSRC} && ${SETUP_CMD} build \
&& ${SETUP_CMD} register --gen-script
.if !defined(NOPORTDOCS)
cd ${WRKSRC} && ${SETUP_CMD} haddock --hyperlink-source \
--hscolour-css=${HSCOLOUR_DATADIR}/hscolour.css
.endif
do-install:
cd ${WRKSRC} && ${SETUP_CMD} install \
&& ${INSTALL_SCRIPT} register.sh ${PREFIX}/${MWCRANDOM_LIBDIR_REL}/register.sh
.if !defined(NOPORTDATA)
${MKDIR} ${DATADIR} && ${INSTALL_DATA} ${WRKSRC}/README ${DATADIR}
.endif
post-install:
${RM} -f ${PREFIX}/lib/ghc-${GHC_VERSION}/package.conf.old
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
MD5 (mwc-random-0.4.1.1.tar.gz) = 42b26d5edcd06c8c58d825ba16d3d5ac
SHA256 (mwc-random-0.4.1.1.tar.gz) = b11c072adb14a59251e8b26afb4a56cade83df5433797078eda7fd86bc7d3951
SIZE (mwc-random-0.4.1.1.tar.gz) = 8792

View file

@ -0,0 +1,14 @@
This Haskell package contains code for generating high quality random
numbers that follow either a uniform or normal distribution. The
generated numbers are suitable for use in statistical applications.
The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
multiply-with-carry generator, which has a period of 2^8222 and
fares well in tests of randomness. It is also extremely fast,
between 2 and 3 times faster than the Mersenne Twister.
Compared to the mersenne-random package, this package has a more
convenient API, is faster, and supports more statistical
distributions.
WWW: http://darcs.serpentine.com/mwc-random

View file

@ -0,0 +1,15 @@
@comment $FreeBSD$
%%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/HSmwc-random-%%MWCRANDOM_VERSION%%.o
%%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/System/Random/MWC.hi
%%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/libHSmwc-random-%%MWCRANDOM_VERSION%%.a
%%MWCRANDOM_LIBDIR_REL%%/register.sh
%%NOPORTDOCS%%%%DOCSDIR%%/LICENSE
%%NOPORTDOCS%%@dirrmtry %%DOCSDIR%%
@dirrm %%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/System/Random
@dirrm %%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%/System
@dirrm %%MWCRANDOM_LIBDIR_REL%%/ghc-%%GHC_VERSION%%
@dirrm %%MWCRANDOM_LIBDIR_REL%%
@exec /bin/sh %D/%%MWCRANDOM_LIBDIR_REL%%/register.sh
@exec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old
@unexec %D/bin/ghc-pkg unregister mwc-random
@unexec /bin/rm -f %D/lib/ghc-%%GHC_VERSION%%/package.conf.old