From 14fd7b71ef4f487c2c42c86a08211577f70610d9 Mon Sep 17 00:00:00 2001 From: Brendan Fabeny Date: Sun, 29 May 2011 15:38:23 +0000 Subject: [PATCH] Add lrng 20110503, uniform random number generators of P. L'Ecuyer and his colleagues. --- math/Makefile | 1 + math/lrng/Makefile | 89 +++++++++++++++++++++++++++++++++++++++++++++ math/lrng/distinfo | 44 ++++++++++++++++++++++ math/lrng/pkg-descr | 5 +++ 4 files changed, 139 insertions(+) create mode 100644 math/lrng/Makefile create mode 100644 math/lrng/distinfo create mode 100644 math/lrng/pkg-descr diff --git a/math/Makefile b/math/Makefile index 782c51a5acbd..c0b7c97c1c23 100644 --- a/math/Makefile +++ b/math/Makefile @@ -175,6 +175,7 @@ SUBDIR += linux-relview SUBDIR += lll_spect SUBDIR += lp_solve + SUBDIR += lrng SUBDIR += ltl SUBDIR += ltl2ba SUBDIR += lybniz diff --git a/math/lrng/Makefile b/math/lrng/Makefile new file mode 100644 index 000000000000..0104ebef7ad3 --- /dev/null +++ b/math/lrng/Makefile @@ -0,0 +1,89 @@ +# New ports collection makefile for: simard-rng +# Date created: 25 May 2011 +# Whom: b.f. +# +# $FreeBSD$ +# + +PORTNAME= lrng +PORTVERSION= 20110503 +CATEGORIES= math +MASTER_SITES= http://www.iro.umontreal.ca/~simardr/rng/:1 \ + http://www.iro.umontreal.ca/~lecuyer/myftp/papers/:2 \ + ${MASTER_SITE_LOCAL:S|%SUBDIR%/$|bf/:1,2|} +DISTFILES= ex1.c:1 lfsr258.c:1 lfsr113.c:1 WELL1024a.h:1 WELL19937a.h:1 WELL512a.h:1 \ + WELL44497a.h:1 WELL19937a.c:1 WELL1024a.c:1 WELL512a.c:1 WELL44497a.c:1 \ + MRG63k3a.c:1 MRG32k3a.c:1 MRG32k5a.c:1 MRG63k3a.h:1 MRG32k5a.h:1 MRG32k3a.h:1 \ + lfsr258.h:1 lfsr113.h:1 +.if !defined(NOPORTDOCS) || make(makesum) +DISTFILES+= combmrg2.ps:2 lfsr04.pdf:2 tausme2.ps:2 +.endif +DIST_SUBDIR= ${PORTNAME} +EXTRACT_ONLY= + +MAINTAINER= bf@FreeBSD.org +COMMENT= Uniform random number generators of P. L'Ecuyer and his colleagues + +LICENSE= GPLv3 + +CLEANFILES= ${SRCS} +LIB= ${PORTNAME} +LIBDIR = ${PREFIX}/lib +MAKE_ENV+= CLEANFILES="${CLEANFILES}" LDFLAGS="${LDFLAGS}" \ + LIB="${LIB}" LIBDIR="${LIBDIR}" SHLIB_MAJOR="${SHLIB_MAJOR}" \ + SRCS="${SRCS}" SRCCONF="${SRCCONF}" +NO_WRKSUBDIR= yes +OPTIONS= PROFILE "Build a profiling library" OFF +PLIST_DIRS= include/${PORTNAME} +PLIST_FILES= ${DISTFILES:M*.h\:1:S|:1$||:S|^|include/${PORTNAME}/|:} \ + lib/lib${LIB}.a lib/lib${LIB}.so \ + lib/lib${LIB}.so.${SHLIB_MAJOR} +.if !defined(NOPORTDOCS) +PORTDOCS= ${DISTFILES:M*\:2:S|:2||} +.endif +.if !defined(NOPORTEXAMPLES) +PORTEXAMPLES= ex1.c +.endif +SHLIB_MAJOR= 0 +SRCCONF= ${NONEXISTENT} +SRCS= ${DISTFILES:M*.c\:1:Nex1.c\:1:S|:1$||} +USE_LDCONFIG= yes + +.include + +.if defined(WITH_PROFILE) +.if defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE) +IGNORE = you have defined WITH_PROFILE, but have also defined\ +WITHOUT_PROFILE, NOPROFILE, or NO_PROFILE +.elif !exists(/usr/lib/libc_p.a) +IGNORE = you have chosen WITH_PROFILE, but have not installed the\ +base system profiling libraries +.endif +PLIST_FILES+= lib/lib${LIB}_p.a +.else +MAKE_ENV+= NO_PROFILE= +.endif + +post-extract: + @${CP} ${_DISTDIR}/* ${WRKSRC} + @${ECHO_CMD} ".include " > ${WRKSRC}/Makefile + +post-install: + @${MKDIR} ${PREFIX}/include/${PORTNAME} + @${INSTALL_DATA} ${WRKSRC}/*.h ${PREFIX}/include/${PORTNAME} +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + @(cd ${WRKSRC}; ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}) +.endif +.if !defined(NOPORTEXAMPLES) + @${MKDIR} ${EXAMPLESDIR} + @(cd ${WRKSRC}; ${INSTALL_DATA} ${PORTEXAMPLES} ${EXAMPLESDIR}) +.endif + +check regression-test test: build + @${CC} ${CFLAGS} -o ${WRKSRC}/ex1 ${WRKSRC}/ex1.c ${WRKSRC}/lib${LIB}.a + @${WRKSRC}/ex1 + @${CC} ${CFLAGS} ${LDFLAGS} -o ${WRKSRC}/ex1s ${WRKSRC}/ex1.c -L${WRKSRC} -l${LIB} + @${SETENV} LD_LIBRARY_PATH=${WRKSRC} ${WRKSRC}/ex1s + +.include diff --git a/math/lrng/distinfo b/math/lrng/distinfo new file mode 100644 index 000000000000..86a0cfa72072 --- /dev/null +++ b/math/lrng/distinfo @@ -0,0 +1,44 @@ +SHA256 (lrng/ex1.c) = 35e417efb1460cc2095345661f93fb9e149cae3ced3d3b479d5d0234e8edc340 +SIZE (lrng/ex1.c) = 473 +SHA256 (lrng/lfsr258.c) = 643d47c73038de40e71e487149f40a6f0d29072dcff98ff52bb96f94b24d1803 +SIZE (lrng/lfsr258.c) = 1063 +SHA256 (lrng/lfsr113.c) = 9ecb4d3672918d42a50c9752bb7aeb3062ced38f0ef02d39ccb5aa9ea2879d9d +SIZE (lrng/lfsr113.c) = 845 +SHA256 (lrng/WELL1024a.h) = 5a09d8f69c8bbfc8a15fe93903a78c7deca8240a48181b954b0d40801a0f93b9 +SIZE (lrng/WELL1024a.h) = 872 +SHA256 (lrng/WELL19937a.h) = e59bb0128c725d9df5f05cf49b8ca7be15085a01dbbb393e3fd5ec137d3cf953 +SIZE (lrng/WELL19937a.h) = 885 +SHA256 (lrng/WELL512a.h) = 468b7ae06dc8f2c86e0fb5c08984fff01de0bd7c8308f193290548e269fedde1 +SIZE (lrng/WELL512a.h) = 870 +SHA256 (lrng/WELL44497a.h) = 80fd0ff770f1ea2a8f69f284dfe1aa113a59a5882f4674b1d5584c06adfef1ca +SIZE (lrng/WELL44497a.h) = 884 +SHA256 (lrng/WELL19937a.c) = 8b87fa7f016a19ae3f64f09ab15185d9c9fc0589255f6ac22cceb32c4446b4ae +SIZE (lrng/WELL19937a.c) = 5836 +SHA256 (lrng/WELL1024a.c) = 937c755949846981609bf40eee54063459ba07c46feab2a26ab4fa2281926af8 +SIZE (lrng/WELL1024a.c) = 1900 +SHA256 (lrng/WELL512a.c) = 9cdcb69d192515b374a3ead67a3c9e9e80758322407d4e9f55d45b833bd9385f +SIZE (lrng/WELL512a.c) = 2094 +SHA256 (lrng/WELL44497a.c) = ccea88384bf733e7ad95fe31696f58eb3d4d64152a593ed472e88ae0ce48148e +SIZE (lrng/WELL44497a.c) = 6077 +SHA256 (lrng/MRG63k3a.c) = 3852f3a8aa4704c33035fab70af4caa3826b95a3b78e3a7eb666be8669210558 +SIZE (lrng/MRG63k3a.c) = 1929 +SHA256 (lrng/MRG32k3a.c) = 6b01098b27c90a7039427d5e32fd252f1630368804168cd95eabd4dd81ffebfc +SIZE (lrng/MRG32k3a.c) = 1328 +SHA256 (lrng/MRG32k5a.c) = b3c200ba3854f340ae35ae87b109de78f653f2d58aac9215aacf135c50ecede0 +SIZE (lrng/MRG32k5a.c) = 1631 +SHA256 (lrng/MRG63k3a.h) = 29306ef3967513d8268527f98bdda8eebbfe981c563bbd04e717cd477c72e82a +SIZE (lrng/MRG63k3a.h) = 24 +SHA256 (lrng/MRG32k5a.h) = 3be5045730a5b6c8c4f9167eb978ea673bcb0cbce4b90e8550ab797385054e72 +SIZE (lrng/MRG32k5a.h) = 24 +SHA256 (lrng/MRG32k3a.h) = 85312af4702c8242068f3766c452a61538458465942143f1b5649a793331221a +SIZE (lrng/MRG32k3a.h) = 24 +SHA256 (lrng/lfsr258.h) = 18ca608b12f0099840e398230a6effec63a59be7ccb8166e1d6682811401e249 +SIZE (lrng/lfsr258.h) = 23 +SHA256 (lrng/lfsr113.h) = 18a572d6dc48cf9a6c9927ae760358c4b9ef7b9d26513a8077ab69d7dbd68b7c +SIZE (lrng/lfsr113.h) = 23 +SHA256 (lrng/combmrg2.ps) = faadb37331a7a41bf36b20f3c5484de5ec3ecc0788a2561d26ded57fbae4e20a +SIZE (lrng/combmrg2.ps) = 490416 +SHA256 (lrng/lfsr04.pdf) = e0e567b553cf3fdf066bc1757c0d45eedb70f67ce872b0e1c8a922ce118be873 +SIZE (lrng/lfsr04.pdf) = 300551 +SHA256 (lrng/tausme2.ps) = fb29919410f7e6dce45a15787f99a0873be6c31c6ed5958d82e4b8f182c0c522 +SIZE (lrng/tausme2.ps) = 106659 diff --git a/math/lrng/pkg-descr b/math/lrng/pkg-descr new file mode 100644 index 000000000000..8c801778d625 --- /dev/null +++ b/math/lrng/pkg-descr @@ -0,0 +1,5 @@ +lrng is a collection of uniform pseudorandom number +generators, written in C, and based on algorithms by Francois +Panneton, Pierre L'Ecuyer, and Makoto Matsumoto. + +WWW: http://www.iro.umontreal.ca/~simardr/