summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorjschauma <jschauma@pkgsrc.org>2003-07-24 16:47:52 +0000
committerjschauma <jschauma@pkgsrc.org>2003-07-24 16:47:52 +0000
commitbfb9e6ea13b044dacf0610ae639b741be6c8ff0f (patch)
tree2a6274df723f6f880fff185e8520400c335810f7 /math
parentda91049aafb37d4a177e79f8824d112852e62215 (diff)
downloadpkgsrc-bfb9e6ea13b044dacf0610ae639b741be6c8ff0f.tar.gz
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.
Diffstat (limited to 'math')
-rw-r--r--math/djbfft/DESCR7
-rw-r--r--math/djbfft/Makefile40
-rw-r--r--math/djbfft/PLIST12
-rw-r--r--math/djbfft/buildlink2.mk21
-rw-r--r--math/djbfft/distinfo6
-rw-r--r--math/djbfft/patches/patch-aa63
-rw-r--r--math/djbfft/patches/patch-ab13
-rw-r--r--math/djbfft/patches/patch-ac35
8 files changed, 197 insertions, 0 deletions
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);
+ }