From bfb9e6ea13b044dacf0610ae639b741be6c8ff0f Mon Sep 17 00:00:00 2001 From: jschauma Date: Thu, 24 Jul 2003 16:47:52 +0000 Subject: Initial import of math/djbfft provided by Chris Lloyd in PR pkg/19258: djbfft is an extremely fast library for floating-point convolution. The current version holds most of the speed records for double-precision FFTs on general-purpose computers. djbfft provides power-of-2 complex FFTs, real FFTs at twice the speed, and fast multiplication of complex arrays. Single precision and double precision are equally supported. --- math/djbfft/DESCR | 7 +++++ math/djbfft/Makefile | 40 ++++++++++++++++++++++++++++ math/djbfft/PLIST | 12 +++++++++ math/djbfft/buildlink2.mk | 21 +++++++++++++++ math/djbfft/distinfo | 6 +++++ math/djbfft/patches/patch-aa | 63 ++++++++++++++++++++++++++++++++++++++++++++ math/djbfft/patches/patch-ab | 13 +++++++++ math/djbfft/patches/patch-ac | 35 ++++++++++++++++++++++++ 8 files changed, 197 insertions(+) create mode 100644 math/djbfft/DESCR create mode 100644 math/djbfft/Makefile create mode 100644 math/djbfft/PLIST create mode 100644 math/djbfft/buildlink2.mk create mode 100644 math/djbfft/distinfo create mode 100644 math/djbfft/patches/patch-aa create mode 100644 math/djbfft/patches/patch-ab create mode 100644 math/djbfft/patches/patch-ac (limited to 'math/djbfft') diff --git a/math/djbfft/DESCR b/math/djbfft/DESCR new file mode 100644 index 00000000000..864055235dd --- /dev/null +++ b/math/djbfft/DESCR @@ -0,0 +1,7 @@ +djbfft is an extremely fast library for floating-point convolution. +The current version holds most of the speed records for double-precision +FFTs on general-purpose computers. + +djbfft provides power-of-2 complex FFTs, real FFTs at twice the +speed, and fast multiplication of complex arrays. Single precision +and double precision are equally supported. diff --git a/math/djbfft/Makefile b/math/djbfft/Makefile new file mode 100644 index 00000000000..2896dfc6f92 --- /dev/null +++ b/math/djbfft/Makefile @@ -0,0 +1,40 @@ +# $NetBSD: Makefile,v 1.1.1.1 2003/07/24 16:47:52 jschauma Exp $ + +DISTNAME= djbfft-0.76 +CATEGORIES= math +MASTER_SITES= http://cr.yp.to/djbfft/ + +MAINTAINER= tech-pkg@netbsd.org +HOMEPAGE= http://pobox.com/~djb/djbfft.html +COMMENT= Extremely fast library for floating-point convolution + +ALL_TARGET= +INSTALL_TARGET= setup check + +NOT_FOR_PLATFORM= IRIX-*-* + +do-configure: + @${ECHO} '${CC} ${CFLAGS}' > ${WRKSRC}/conf-cc + @${ECHO} '${CC}' > ${WRKSRC}/conf-ld + @${ECHO} ${PREFIX} > ${WRKSRC}/conf-home +.ifdef(WITH_OPT_PENTIUM) + @${ECHO} 'pentium' > ${WRKSRC}/conf-opt +.endif +.ifdef(WITH_OPT_PPRO) + @${ECHO} 'ppro' > ${WRKSRC}/conf-opt +.endif +.if (${MACHINE_ARCH} == "sparc") + @${ECHO} 'sparc' > ${WRKSRC}/conf-opt +.endif + +post-extract: +.if (${MACHINE_ARCH} == "i386" && !WITH_OPT_PENTIUM) + @${ECHO} '===> Set WITH_OPT_PENTIUM to optimize for both Pentium and Pentium MMX' + @${ECHO} ' like processors.' +.endif +.if (${MACHINE_ARCH} == "i386" && !WITH_OPT_PPRO) + @${ECHO} '===> Set WITH_OPT_PPRO to optimize for Pentium Pro, Pentium II, and' + @${ECHO} ' Pentium III like processors.' +.endif + +.include "../../mk/bsd.pkg.mk" diff --git a/math/djbfft/PLIST b/math/djbfft/PLIST new file mode 100644 index 00000000000..e9abdcbee9c --- /dev/null +++ b/math/djbfft/PLIST @@ -0,0 +1,12 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2003/07/24 16:47:52 jschauma Exp $ +include/djbfft/complex4.h +include/djbfft/complex8.h +include/djbfft/fftc4.h +include/djbfft/fftc8.h +include/djbfft/fftfreq.h +include/djbfft/fftr4.h +include/djbfft/fftr8.h +include/djbfft/real4.h +include/djbfft/real8.h +lib/libdjbfft.a +@dirrm include/djbfft diff --git a/math/djbfft/buildlink2.mk b/math/djbfft/buildlink2.mk new file mode 100644 index 00000000000..5c72c323a28 --- /dev/null +++ b/math/djbfft/buildlink2.mk @@ -0,0 +1,21 @@ +BUILDLINK_PACKAGES+= djbfft +BUILDLINK_PKGBASE.djbfft= djbfft +BUILDLINK_DEPENDS.djbfft?= djbfft>=0.76 +BUILDLINK_PKGSRCDIR.djbfft?= ../../math/djbfft + +EVAL_PREFIX+= BUILDLINK_PREFIX.djbfft=djbfft +BUILDLINK_PREFIX.djbfft_DEFAULT= ${LOCALBASE} +BUILDLINK_FILES.djbfft= include/djbfft/complex4.h +BUILDLINK_FILES.djbfft+= include/djbfft/complex8.h +BUILDLINK_FILES.djbfft+= include/djbfft/fftc4.h +BUILDLINK_FILES.djbfft+= include/djbfft/fftc8.h +BUILDLINK_FILES.djbfft+= include/djbfft/fftfreq.h +BUILDLINK_FILES.djbfft+= include/djbfft/fftr4.h +BUILDLINK_FILES.djbfft+= include/djbfft/fftr8.h +BUILDLINK_FILES.djbfft+= include/djbfft/real4.h +BUILDLINK_FILES.djbfft+= include/djbfft/real8.h +BUILDLINK_FILES.djbfft+= lib/libdjbfft.a + +BUILDLINK_TARGETS+= djbfft-buildlink + +djbfft-buildlink: _BUILDLINK_USE diff --git a/math/djbfft/distinfo b/math/djbfft/distinfo new file mode 100644 index 00000000000..0ba75f54616 --- /dev/null +++ b/math/djbfft/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2003/07/24 16:47:52 jschauma Exp $ +SHA1 (djbfft-0.76.tar.gz) = df9d258a75183c10592d937ee2d2befc01a8a0f6 +Size (djbfft-0.76.tar.gz) = 80092 bytes +SHA1 (patch-aa) = e148c738090c75576d79e1b5359ada19ccf850ac +SHA1 (patch-ab) = 7aff0e24fd1caf182c9d825f596aaeaf8260ff23 +SHA1 (patch-ac) = 971cfac6454bba698966c574c50b55088d40a400 diff --git a/math/djbfft/patches/patch-aa b/math/djbfft/patches/patch-aa new file mode 100644 index 00000000000..538d18e7129 --- /dev/null +++ b/math/djbfft/patches/patch-aa @@ -0,0 +1,63 @@ +$NetBSD: patch-aa,v 1.1.1.1 2003/07/24 16:47:52 jschauma Exp $ + +--- Makefile.orig Thu Sep 30 21:25:58 1999 ++++ Makefile +@@ -569,8 +569,8 @@ compile 8v5.c pre8.c fftc8.h complex8.h + ./compile 8v5.c + + accuracy: \ +-load accuracy.o djbfft.a math.lib +- ./load accuracy djbfft.a `cat math.lib` ++load accuracy.o libdjbfft.a math.lib ++ ./load accuracy libdjbfft.a `cat math.lib` + + accuracy.o: \ + compile accuracy.c fftc4.h complex4.h real4.h fftc8.h complex8.h \ +@@ -578,8 +578,8 @@ real8.h fftr4.h real4.h fftr8.h real8.h + ./compile accuracy.c + + accuracy2: \ +-load accuracy2.o djbfft.a math.lib +- ./load accuracy2 djbfft.a `cat math.lib` ++load accuracy2.o libdjbfft.a math.lib ++ ./load accuracy2 libdjbfft.a `cat math.lib` + + accuracy2.o: \ + compile accuracy2.c fftc4.h complex4.h real4.h fftc8.h complex8.h \ +@@ -649,7 +649,7 @@ warn-auto.sh conf-cc + ) > compilebase + chmod 755 compilebase + +-djbfft.a: \ ++libdjbfft.a: \ + makelib 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u1.o 8u0.o 8mc.o 8c0.o 8c1.o \ + 8c2.o 8c3.o 8c4.o 8c5.o 8d0.o 8d1.o 8d2.o 8d3.o 8d4.o 8d5.o 8v5.o \ + 8v4.o 8v3.o 8v2.o 8v1.o 8v0.o 8mr.o 8r0.o 8r1.o 8r2.o 8r3.o 8r4.o \ +@@ -657,7 +657,7 @@ makelib 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u + 4c1.o 4c2.o 4c3.o 4c4.o 4c5.o 4d0.o 4d1.o 4d2.o 4d3.o 4d4.o 4d5.o \ + 4v5.o 4v4.o 4v3.o 4v2.o 4v1.o 4v0.o 4mr.o 4r0.o 4r1.o 4r2.o 4r3.o \ + 4r4.o 4r5.o 4sr.o fftfreq.o +- ./makelib djbfft.a 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u1.o \ ++ ./makelib libdjbfft.a 8sc.o 8u5.o 8u4.o 8u3.o 8u2.o 8u1.o \ + 8u0.o 8mc.o 8c0.o 8c1.o 8c2.o 8c3.o 8c4.o 8c5.o 8d0.o 8d1.o \ + 8d2.o 8d3.o 8d4.o 8d5.o 8v5.o 8v4.o 8v3.o 8v2.o 8v1.o 8v0.o \ + 8mr.o 8r0.o 8r1.o 8r2.o 8r3.o 8r4.o 8r5.o 8sr.o 4sc.o 4u5.o \ +@@ -758,15 +758,15 @@ compile open_trunc.c open.h + ./compile open_trunc.c + + prog: \ +-djbfft.a accuracy accuracy2 speed speed.out ++libdjbfft.a accuracy accuracy2 speed speed.out + + setup: \ + it install + ./install + + speed: \ +-load speed.o djbfft.a math.lib +- ./load speed djbfft.a `cat math.lib` ++load speed.o libdjbfft.a math.lib ++ ./load speed libdjbfft.a `cat math.lib` + + speed.o: \ + compile speed.c fftr4.h real4.h fftr8.h real8.h fftc4.h complex4.h \ diff --git a/math/djbfft/patches/patch-ab b/math/djbfft/patches/patch-ab new file mode 100644 index 00000000000..73ceebcc028 --- /dev/null +++ b/math/djbfft/patches/patch-ab @@ -0,0 +1,13 @@ +$NetBSD: patch-ab,v 1.1.1.1 2003/07/24 16:47:52 jschauma Exp $ + +--- TARGETS.orig Thu Sep 30 21:25:58 1999 ++++ TARGETS +@@ -143,7 +143,7 @@ auto_opt + 4sr.c + 4sr.o + fftfreq.o +-djbfft.a ++libdjbfft.a + load + accuracy.o + accuracy diff --git a/math/djbfft/patches/patch-ac b/math/djbfft/patches/patch-ac new file mode 100644 index 00000000000..22de6cf37ec --- /dev/null +++ b/math/djbfft/patches/patch-ac @@ -0,0 +1,35 @@ +$NetBSD: patch-ac,v 1.1.1.1 2003/07/24 16:47:52 jschauma Exp $ + +--- hier.c.orig Thu Sep 30 21:25:58 1999 ++++ hier.c +@@ -2,19 +2,16 @@ + + void hier() + { +- h(auto_home,-1,-1,02755); ++ c(auto_home,"lib","libdjbfft.a",-1,-1,0644); + +- d(auto_home,"lib",-1,-1,02755); +- c(auto_home,"lib","djbfft.a",-1,-1,0644); +- +- d(auto_home,"include",-1,-1,02755); +- c(auto_home,"include","real4.h",-1,-1,0644); +- c(auto_home,"include","real8.h",-1,-1,0644); +- c(auto_home,"include","complex4.h",-1,-1,0644); +- c(auto_home,"include","complex8.h",-1,-1,0644); +- c(auto_home,"include","fftc4.h",-1,-1,0644); +- c(auto_home,"include","fftc8.h",-1,-1,0644); +- c(auto_home,"include","fftr4.h",-1,-1,0644); +- c(auto_home,"include","fftr8.h",-1,-1,0644); +- c(auto_home,"include","fftfreq.h",-1,-1,0644); ++ d(auto_home,"include/djbfft",-1,-1,0755); ++ c(auto_home,"include/djbfft","real4.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","real8.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","complex4.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","complex8.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","fftc4.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","fftc8.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","fftr4.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","fftr8.h",-1,-1,0644); ++ c(auto_home,"include/djbfft","fftfreq.h",-1,-1,0644); + } -- cgit v1.2.3