Import of pkgsrc-2013Q2

This commit is contained in:
2013-09-26 17:14:40 +02:00
commit 785076ae39
74991 changed files with 4380255 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
This is benchFFT 2.0, a program to measure the speed and accuracy of a
wide variety of FFT implementations in both C and Fortran.
Included (in the c_source/ and f_source/ directories) are the source
codes for many publicly available FFTs, all of which are incorporated
into the benchmark.

View File

@@ -0,0 +1,59 @@
# $NetBSD: Makefile,v 1.37 2012/09/11 22:37:10 asau Exp $
DISTNAME= benchfft-2.0
PKGREVISION= 4
CATEGORIES= benchmarks math
MASTER_SITES= ftp://ftp.fftw.org/pub/fftw/ \
ftp://ftp.fftw.org/pub/fftw/old/benchfft/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} fftw-2.0.1${EXTRACT_SUFX}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.fftw.org/benchfft/
COMMENT= Benchmark your machine with a number of FFT algorithms
PKG_INSTALLATION_TYPES= overwrite pkgviews
GNU_CONFIGURE= yes
USE_TOOLS+= gmake csh:run
USE_LANGUAGES= c fortran77
USE_LIBTOOL= yes
LIBTOOL_OVERRIDE= libtool ../fftw-*/libtool
CONFIG_GUESS_OVERRIDE= config.guess ../fftw-*/config.guess
CONFIG_SUB_OVERRIDE= config.sub ../fftw-*/config.sub
CONFIG_STATUS_OVERRIDE= config.status ../fftw-*/config.status
REPLACE_CSH= submit-script
INSTALLATION_DIRS= bin
CONFIGURE_DIRS= ${WRKDIR}/fftw-2.0.1 ${WRKSRC}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bench \
${DESTDIR}${PREFIX}/bin/bench-fft
${INSTALL_SCRIPT} ${WRKSRC}/submit-script \
${DESTDIR}${PREFIX}/bin/run-fftbench
.include "../../mk/bsd.prefs.mk"
benchmark:
.if defined(BATCH)
@${ECHO} "*** This benchmark should be run in non-batch mode"
@${SED} -e 's|bench-fft|./bench|g' <${WRKSRC}/submit-script> ${WRKSRC}/run_bench
@${CHMOD} 755 ${WRKSRC}/run_bench
@${SED} -e 's|@machine@|'`uname -m`'|' \
${FILESDIR}/setup.answers | (cd ${WRKSRC} ; ./run_bench)
.else
@${SED} -e 's|bench-fft|./bench|g' <${WRKSRC}/submit-script> ${WRKSRC}/run_bench
@${CHMOD} 755 ${WRKSRC}/run_bench
@(cd ${WRKSRC} ; ./run_bench)
@${ECHO} ${PKGNAME} results:
${CAT} submit.txt
.endif
results:
@${MKDIR} /tmp/benches/`domainname`
-@${CP} ${WRKSRC}/submit.txt /tmp/benches/`domainname`/fft.`uname`-`uname -m`-`uname -r`.`hostname`
.include "../../mk/bsd.pkg.mk"

View File

@@ -0,0 +1,3 @@
@comment $NetBSD: PLIST,v 1.1 2001/10/31 23:45:06 zuntum Exp $
bin/bench-fft
bin/run-fftbench

View File

@@ -0,0 +1,22 @@
$NetBSD: distinfo,v 1.12 2012/07/03 18:19:17 joerg Exp $
SHA1 (benchfft-2.0.tar.gz) = b49cbad9d390e54d3afe661d51d3dce7b3d6435e
RMD160 (benchfft-2.0.tar.gz) = bd9ef45e633b8384c836e32e1e1cee877495bb26
Size (benchfft-2.0.tar.gz) = 585518 bytes
SHA1 (fftw-2.0.1.tar.gz) = b6b9d44a1204eb82d1651824941d3ed49d5f9282
RMD160 (fftw-2.0.1.tar.gz) = ad28a3fd1e17de6d5158f50ad286887c5f886492
Size (fftw-2.0.1.tar.gz) = 894543 bytes
SHA1 (patch-aa) = 11c7d759af18a51da99231c964a079147656c9cc
SHA1 (patch-ab) = 1c1be2e043ea9280f70dddd8082d20e929ea9d49
SHA1 (patch-ac) = 24a1f01426f7e905f5033202b075786f2a632aa4
SHA1 (patch-ad) = bb9d22c526a5f9ef4c187893a964ae2d0d71ea80
SHA1 (patch-ae) = afe38ba1f8d8d3497e5d6a8c722f4ab11b6f1c3a
SHA1 (patch-af) = b301bdb6707f448fae83d1f0659ae966e3869027
SHA1 (patch-ag) = a08153a6a8800184e7d186bf44a36f11372e853c
SHA1 (patch-ah) = f03ce90b929b8a460157aff96facb3163d4e401c
SHA1 (patch-c__source_bitrev_c) = a5ba61121c0a0950278cbe04f6638afd091d106c
SHA1 (patch-c__source_dint_c) = 5f86bea25e7a290f5f02b5423602fa2db87a588d
SHA1 (patch-c__source_dintime.c) = ef966866c209ee9fc482b4af77d759b23752d32b
SHA1 (patch-c__source_fft__duhamel.c) = de1168a0d0be44eceeb4808f953894746194dcca
SHA1 (patch-c__source_idint.c) = 6434f2180c23e909ca099bd6e9f10757710b25a3
SHA1 (patch-c__source_idintime.c) = 8cff726b52c5964fa6da1a011834f7637f24bb8d

View File

@@ -0,0 +1,16 @@
pkg run
n
n
NetBSD
NetBSD
@machine@
@machine@
100
64
0
NetBSD
gcc
y
f77
y
Do not submit this form

View File

@@ -0,0 +1,70 @@
$NetBSD: patch-aa,v 1.1.1.1 1998/10/21 19:35:56 garbled Exp $
--- submit-script.orig Wed Oct 21 00:18:48 1998
+++ submit-script Wed Oct 21 00:19:37 1998
@@ -4,7 +4,7 @@
# separately, and seems somewhat more stable than running them all at once
# (goodness knows why).
-bench -submit -submit-info-only
+bench-fft -submit -submit-info-only
echo
echo "You are done entering information now, and the benchmark is"
@@ -17,49 +17,49 @@
echo
echo "Running 1D benchmark (powers of two)"
-bench -1d -p2 -name "submit"
+bench-fft -1d -p2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.1d.p2.dat" >> submit.txt
cat submit.p2.1d.dat >> submit.txt
echo "Running 1D benchmark (non-powers of two)"
-bench -1d -np2 -name "submit"
+bench-fft -1d -np2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.1d.np2.dat" >> submit.txt
cat submit.np2.1d.dat >> submit.txt
echo "Running 3D benchmark (powers of two)"
-bench -3d -p2 -name "submit"
+bench-fft -3d -p2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.3d.p2.dat" >> submit.txt
cat submit.p2.3d.dat >> submit.txt
echo "Running 3D benchmark (non-powers of two)"
-bench -3d -np2 -name "submit"
+bench-fft -3d -np2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.3d.np2.dat" >> submit.txt
cat submit.np2.3d.dat >> submit.txt
echo "Running 1D real-complex benchmark (powers of two)"
-bench -r1d -p2 -name "submit"
+bench-fft -r1d -p2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.r1d.p2.dat" >> submit.txt
cat submit.p2.r1d.dat >> submit.txt
echo "Running 1D real-complex benchmark (non-powers of two)"
-bench -r1d -np2 -name "submit"
+bench-fft -r1d -np2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.r1d.np2.dat" >> submit.txt
cat submit.np2.r1d.dat >> submit.txt
echo "Running 2D real-complex benchmark (powers of two)"
-bench -r2d -p2 -name "submit"
+bench-fft -r2d -p2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.r2d.p2.dat" >> submit.txt
cat submit.p2.r2d.dat >> submit.txt
echo "Running 2D real-complex benchmark (non-powers of two)"
-bench -r2d -np2 -name "submit"
+bench-fft -r2d -np2 -name "submit"
echo "------------------------------------------------------" >> submit.txt
echo "@@@@ bench.r2d.np2.dat" >> submit.txt
cat submit.np2.r2d.dat >> submit.txt

View File

@@ -0,0 +1,73 @@
$NetBSD: patch-ab,v 1.1 2000/05/13 14:51:12 dmcmahill Exp $
"D" is not recognized by f2c as a comment.
--- f_source/harmd.f.orig Tue Oct 20 12:42:44 1998
+++ f_source/harmd.f Fri Apr 21 15:00:54 2000
@@ -98,5 +98,5 @@
DIMENSION INV(*),S(*)
EQUIVALENCE (N1,N(1)),(N2,N(2)),(N3,N(3))
-D DOUBLE PRECISION TIME1,TIME2,TIME3,TIME4,TIME5,TIME6,TIME7
+CD DOUBLE PRECISION TIME1,TIME2,TIME3,TIME4,TIME5,TIME6,TIME7
869 FORMAT(1H ,E13.4)
879 FORMAT(1H ,6I5)
@@ -148,5 +148,5 @@
40 KBIT=KBIT/2
KL=KBIT-2
-D CALL CLOCK(TIME1)
+CD CALL CLOCK(TIME1)
DO 50 I=1,IL1,IDIF
KLAST=KL+I
@@ -193,5 +193,5 @@
C
C DO FOR J=0
-D CALL CLOCK(TIME1)
+CD CALL CLOCK(TIME1)
DO 80 I=1,IL1,IDIF
KLAST=I+KL
@@ -256,7 +256,7 @@
A(K3+1)=AK2_1-AK3_0
80 continue
-D CALL CLOCK(TIME2)
-D WRITE(6,2000)TIME2-TIME1
-D2000 FORMAT(' AT 2 ',E12.5)
+CD CALL CLOCK(TIME2)
+CD WRITE(6,2000)TIME2-TIME1
+CD2000 FORMAT(' AT 2 ',E12.5)
IF (JLAST) 235,235,82
82 JJ=JJDIF +1
@@ -264,5 +264,5 @@
C DO FOR J=1
ILAST= IL +JJ
-D CALL CLOCK(TIME1)
+CD CALL CLOCK(TIME1)
DO 85 I = JJ,ILAST,IDIF
KLAST = KL+I
@@ -323,12 +323,12 @@
A(K3+1)=AK2_1-AK3_0
85 continue
-D CALL CLOCK(TIME2)
-D WRITE(6,3000)TIME2-TIME1
-D3000 FORMAT(' AT 3 ',E12.5)
+CD CALL CLOCK(TIME2)
+CD WRITE(6,3000)TIME2-TIME1
+CD3000 FORMAT(' AT 3 ',E12.5)
IF(JLAST-1) 235,235,90
90 JJ= JJ + JJDIF
C
C NOW DO THE REMAINING J@S
-D CALL CLOCK(TIME1)
+CD CALL CLOCK(TIME1)
DO 230 J=2,JLAST
C THIS EQUIVALENCE FORCES SOME VARIABLES INTO PERMANENT REGISTER
@@ -447,7 +447,7 @@
C
230 JJ=JJDIF+JJ
-D CALL CLOCK(TIME2)
-D WRITE(6,4000)TIME2-TIME1
-D4000 FORMAT(' AT 4 ',E12.5)
+CD CALL CLOCK(TIME2)
+CD WRITE(6,4000)TIME2-TIME1
+CD4000 FORMAT(' AT 4 ',E12.5)
C END OF J-LOOP
C

View File

@@ -0,0 +1,31 @@
$NetBSD: patch-ac,v 1.2 2005/11/05 21:04:36 joerg Exp $
need to be able to link with -lf2c when using f2c or -lg2c when using
g77.
--- configure.in.orig Tue Oct 20 12:42:05 1998
+++ configure.in Fri May 12 17:10:03 2000
@@ -58,6 +58,7 @@ if test $F77 = echo; then
else
USE_F77=" "
AC_DEFINE(HAVE_F77)
+ AC_F77_LIBRARY_LDFLAGS
fi
if test $F90 = echo; then
@@ -158,13 +159,8 @@ AC_CHECK_FUNCS(dcft3)
dnl Check for librfftw.a (in rfftw 2.0+)
AC_MSG_CHECKING(for location of rfftw)
-if test -r $FFTWDIR/rfftw/.libs/librfftw.a; then
- RFFTWLIB="-lrfftw"
- AC_MSG_RESULT(found librfftw.a)
-else
- RFFTWLIB="$FFTWDIR/rfftw/rfftw.o $FFTWDIR/rfftw/rfftwnd.o"
- AC_MSG_RESULT(using rfftw object code)
-fi
+RFFTWLIB="$FFTWDIR/rfftw/.libs/librfftw.a"
+AC_MSG_RESULT(found librfftw.a)
AC_SUBST(RFFTWLIB)
dnl Check for Numerical Recipes code:

View File

@@ -0,0 +1,32 @@
$NetBSD: patch-ad,v 1.6 2012/01/12 12:36:13 hans Exp $
link required fortran library.
--- Makefile.in.orig Tue Oct 20 12:42:00 1998
+++ Makefile.in Fri May 12 17:11:17 2000
@@ -365,7 +365,7 @@ LIBPATHS = -L$(FFTWDIR)/fftw/.libs -L$(F
INCLUDE_FLAGS = -I. -I$(FFTWDIR)/fftw -I$(FFTWDIR)/src -I$(FFTWDIR)/rfftw
# Put libraries that you need to link in here:
-LIBRARIES = $(LIBPATHS) -lfftw @RFFTWLIB@ @LIBS@
+LIBRARIES = $(LIBPATHS) ../fftw-2.0.1/fftw/.libs/libfftw.a @RFFTWLIB@ @LIBS@
###########################################################################
@@ -376,6 +376,7 @@ CC = @CC@
CFLAGS = @CFLAGS@
F77 = @F77@
FFLAGS = @FFLAGS@
+FLIBS = @FLIBS@
F90 = @F90@
F90FLAGS = @FFLAGS@
@@ -495,7 +496,7 @@ bench_utils.o: bench_utils.h bench-confi
bench.o: bench_utils.h bench-config.h
bench: $(OBJECTS)
- $(CC) $(CFLAGS) $(OBJECTS) $(LIBRARIES) -o $@
+ $(CC) $(CFLAGS) $(OBJECTS) $(LIBRARIES) $(FLIBS) -o $@
submit: bench
./submit-script

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,419 @@
$NetBSD: patch-af,v 1.5 2008/06/21 20:00:22 joerg Exp $
Reorder functions in usage order to fix compilation with f2c.
--- f_source/sciport/ffts.f.orig 2008-06-21 13:38:06.000000000 +0000
+++ f_source/sciport/ffts.f
@@ -1,3 +1,190 @@
+C----------------------------------------------- ************
+C CABLE2
+C ************
+ SUBROUTINE SPSCABLE2(NN,WORK)
+C
+ REAL WORK(2,NN),TWOPI
+ DATA TWOPI /6.28318530717958647692/
+C
+ N = 2 * NN
+ P2 = TWOPI/N
+ DO 10 I=1, NN
+ WORK(1,I) = COS(P2 * (I-1))
+ WORK(2,I) = SIN(P2 * (I-1))
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RCONV2
+C ************
+ SUBROUTINE SPSRCONV2(N,CY,C,CH)
+C
+ COMPLEX CY(1)
+ REAL CH(N/2,2),P(2,1),C(2,N/2)
+C
+ N2 = N/2
+ P(1,1) = (C(1,1) + C(2,1)) * 2
+ P(2,1) = (C(1,1) - C(2,1)) * 2
+ CY(1) = CMPLX(P(1,1),0.)
+ CY(N2+1) = CMPLX(P(2,1),0.)
+ K = N2
+ DO 10 I=2, N2
+ X = C(1,I)+C(1,K)
+ Y = C(2,I)+C(2,K)
+ Z = C(1,I)-C(1,K)
+ Z1= C(2,I)-C(2,K)
+ P(1,1) = X + CH(I,1) * Y - CH(I,2) * Z
+ P(2,1) = Z1 - CH(I,2) * Y - CH(I,1) * Z
+ CY(I) = CMPLX(P(1,1),P(2,1))
+ K = K - 1
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RCONV1
+C ************
+ SUBROUTINE SPSRCONV1(N,CY,C,CH)
+C
+ COMPLEX CY(1)
+ REAL CH(N/2,2),P(2,1),C(2,N/2)
+C
+ N2 = N/2
+ P(1,1) = (C(1,1) + C(2,1)) * 2
+ P(2,1) = (C(1,1) - C(2,1)) * 2
+ CY(1) = CMPLX(P(1,1),0.)
+ CY(N2+1) = CMPLX(P(2,1),0.)
+ K = N2
+ DO 10 I=2, N2
+ X = C(1,I)+C(1,K)
+ Y = C(2,I)+C(2,K)
+ Z = C(1,I)-C(1,K)
+ Z1= C(2,I)-C(2,K)
+ P(1,1) = X + CH(I,1) * Y + CH(I,2) * Z
+ P(2,1) = Z1 + CH(I,2) * Y - CH(I,1) * Z
+ CY(I) = CMPLX(P(1,1),P(2,1))
+ K = K - 1
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C CRFORM
+C ************
+ SUBROUTINE SPSRABLE1(NN,WORK)
+C
+ REAL WORK(NN,2),TWOPI
+ DATA TWOPI /6.28318530717958647692/
+C
+ N = 2 * NN
+ P2 = TWOPI/N
+ DO 10 I=1, NN
+ WORK(I,1) = COS(P2 * (I-1))
+ WORK(I,2) = SIN(P2 * (I-1))
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RTOCK3
+C ************
+ SUBROUTINE SPSRTOCK3(LS,NS,C,CH,CH2)
+C
+ COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
+ REAL CH2(2,NS,LS,2)
+C
+ IF (LS .GT. NS) GOTO 30
+ DO 600 I=1, LS
+ DO 600 J=1, NS
+ WYK =CONJG(CMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 600 CONTINUE
+ RETURN
+ 30 CONTINUE
+ DO 800 J=1, NS
+ DO 800 I=1, LS
+ WYK =CONJG(CMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 800 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RTOCK2
+C ************
+ SUBROUTINE SPSRTOCK2(LS,NS,C,CH,CH2)
+C
+ COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
+ REAL CH2(2,NS,LS,2)
+C
+ IF (LS .GT. NS) GOTO 20
+ DO 200 I=1, LS
+ DO 200 J=1, NS
+ WYK = CMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 200 CONTINUE
+ RETURN
+ 20 CONTINUE
+ DO 400 J=1, NS
+ DO 400 I=1, LS
+ WYK = CMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 400 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C CRBLE1
+C ************
+ SUBROUTINE SPSCRBLE1(NN,WORK)
+C
+ REAL WORK(NN,2),TWOPI
+ DATA TWOPI /6.28318530717958647692/
+C
+ N = 2 * NN
+ P2 = TWOPI/N
+ DO 10 I=1, NN
+ WORK(I,1) = COS(P2 * (I-1))
+ WORK(I,2) = SIN(P2 * (I-1))
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C CRFORM
+C ************
+ SUBROUTINE SPSCRFORM(IX,NS,NDIV2,CX,C,CH2)
+C
+ COMPLEX CX(1),WYK1,C(NS,2),WYK
+ REAL CH2(NDIV2,2)
+C
+ IF (IX .GT. 0) GOTO 50
+ K = NS + 1
+ DO 10 I=1, NS
+ WYK = CONJG(CX(NDIV2-I+2))
+ C(I,1)= CX(I)+WYK + (CX(I) - WYK) * CMPLX(CH2(I,2),CH2(I,1))
+ WYK1 = CONJG(CX(NDIV2-K+2))
+ C(I,2)= CX(K)+WYK1+ (CX(K) -WYK1) * CMPLX(CH2(K,2),CH2(K,1))
+ K = K + 1
+ 10 CONTINUE
+ RETURN
+ 50 CONTINUE
+ K = NS + 1
+ DO 20 I=1, NS
+ WYK = CONJG(CX(NDIV2-I+2))
+ C(I,1)= CX(I)+WYK + (CX(I) - WYK) * CMPLX(-CH2(I,2),CH2(I,1))
+ WYK1 = CONJG(CX(NDIV2-K+2))
+ C(I,2)= CX(K)+WYK1 +(CX(K) -WYK1) * CMPLX(-CH2(K,2),CH2(K,1))
+ K = K + 1
+ 20 CONTINUE
+ RETURN
+ END
+
C------------------------------------------------------------- ************
C CRFFT2
C ************
@@ -62,36 +249,6 @@ C
END
C----------------------------------------------- ************
-C CRFORM
-C ************
- SUBROUTINE SPSCRFORM(IX,NS,NDIV2,CX,C,CH2)
-C
- COMPLEX CX(1),WYK1,C(NS,2),WYK
- REAL CH2(NDIV2,2)
-C
- IF (IX .GT. 0) GOTO 50
- K = NS + 1
- DO 10 I=1, NS
- WYK = CONJG(CX(NDIV2-I+2))
- C(I,1)= CX(I)+WYK + (CX(I) - WYK) * CMPLX(CH2(I,2),CH2(I,1))
- WYK1 = CONJG(CX(NDIV2-K+2))
- C(I,2)= CX(K)+WYK1+ (CX(K) -WYK1) * CMPLX(CH2(K,2),CH2(K,1))
- K = K + 1
- 10 CONTINUE
- RETURN
- 50 CONTINUE
- K = NS + 1
- DO 20 I=1, NS
- WYK = CONJG(CX(NDIV2-I+2))
- C(I,1)= CX(I)+WYK + (CX(I) - WYK) * CMPLX(-CH2(I,2),CH2(I,1))
- WYK1 = CONJG(CX(NDIV2-K+2))
- C(I,2)= CX(K)+WYK1 +(CX(K) -WYK1) * CMPLX(-CH2(K,2),CH2(K,1))
- K = K + 1
- 20 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
C CROCK1
C ************
SUBROUTINE SPSCROCK1(NS,C,CH)
@@ -157,23 +314,6 @@ C
RETURN
END
-C----------------------------------------------- ************
-C CRBLE1
-C ************
- SUBROUTINE SPSCRBLE1(NN,WORK)
-C
- REAL WORK(NN,2),TWOPI
- DATA TWOPI /6.28318530717958647692/
-C
- N = 2 * NN
- P2 = TWOPI/N
- DO 10 I=1, NN
- WORK(I,1) = COS(P2 * (I-1))
- WORK(I,2) = SIN(P2 * (I-1))
- 10 CONTINUE
- RETURN
- END
-
C------------------------------------------------------------- ************
C RCFFT2
C ************
@@ -236,32 +376,6 @@ C
END
C----------------------------------------------- ************
-C RTOCK2
-C ************
- SUBROUTINE SPSRTOCK2(LS,NS,C,CH,CH2)
-C
- COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
- REAL CH2(2,NS,LS,2)
-C
- IF (LS .GT. NS) GOTO 20
- DO 200 I=1, LS
- DO 200 J=1, NS
- WYK = CMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 200 CONTINUE
- RETURN
- 20 CONTINUE
- DO 400 J=1, NS
- DO 400 I=1, LS
- WYK = CMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 400 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
C RTOCK1
C ************
SUBROUTINE SPSRTOCK1(NS,C,CH)
@@ -275,103 +389,6 @@ C
RETURN
END
-C----------------------------------------------- ************
-C RTOCK3
-C ************
- SUBROUTINE SPSRTOCK3(LS,NS,C,CH,CH2)
-C
- COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
- REAL CH2(2,NS,LS,2)
-C
- IF (LS .GT. NS) GOTO 30
- DO 600 I=1, LS
- DO 600 J=1, NS
- WYK =CONJG(CMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 600 CONTINUE
- RETURN
- 30 CONTINUE
- DO 800 J=1, NS
- DO 800 I=1, LS
- WYK =CONJG(CMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 800 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
-C CRFORM
-C ************
- SUBROUTINE SPSRABLE1(NN,WORK)
-C
- REAL WORK(NN,2),TWOPI
- DATA TWOPI /6.28318530717958647692/
-C
- N = 2 * NN
- P2 = TWOPI/N
- DO 10 I=1, NN
- WORK(I,1) = COS(P2 * (I-1))
- WORK(I,2) = SIN(P2 * (I-1))
- 10 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
-C RCONV1
-C ************
- SUBROUTINE SPSRCONV1(N,CY,C,CH)
-C
- COMPLEX CY(1)
- REAL CH(N/2,2),P(2,1),C(2,N/2)
-C
- N2 = N/2
- P(1,1) = (C(1,1) + C(2,1)) * 2
- P(2,1) = (C(1,1) - C(2,1)) * 2
- CY(1) = CMPLX(P(1,1),0.)
- CY(N2+1) = CMPLX(P(2,1),0.)
- K = N2
- DO 10 I=2, N2
- X = C(1,I)+C(1,K)
- Y = C(2,I)+C(2,K)
- Z = C(1,I)-C(1,K)
- Z1= C(2,I)-C(2,K)
- P(1,1) = X + CH(I,1) * Y + CH(I,2) * Z
- P(2,1) = Z1 + CH(I,2) * Y - CH(I,1) * Z
- CY(I) = CMPLX(P(1,1),P(2,1))
- K = K - 1
- 10 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
-C RCONV2
-C ************
- SUBROUTINE SPSRCONV2(N,CY,C,CH)
-C
- COMPLEX CY(1)
- REAL CH(N/2,2),P(2,1),C(2,N/2)
-C
- N2 = N/2
- P(1,1) = (C(1,1) + C(2,1)) * 2
- P(2,1) = (C(1,1) - C(2,1)) * 2
- CY(1) = CMPLX(P(1,1),0.)
- CY(N2+1) = CMPLX(P(2,1),0.)
- K = N2
- DO 10 I=2, N2
- X = C(1,I)+C(1,K)
- Y = C(2,I)+C(2,K)
- Z = C(1,I)-C(1,K)
- Z1= C(2,I)-C(2,K)
- P(1,1) = X + CH(I,1) * Y - CH(I,2) * Z
- P(2,1) = Z1 - CH(I,2) * Y - CH(I,1) * Z
- CY(I) = CMPLX(P(1,1),P(2,1))
- K = K - 1
- 10 CONTINUE
- RETURN
- END
-
C------------------------------------------------------------- ************
C CFFT2
C ************
@@ -514,23 +531,6 @@ C
RETURN
END
-C----------------------------------------------- ************
-C CABLE2
-C ************
- SUBROUTINE SPSCABLE2(NN,WORK)
-C
- REAL WORK(2,NN),TWOPI
- DATA TWOPI /6.28318530717958647692/
-C
- N = 2 * NN
- P2 = TWOPI/N
- DO 10 I=1, NN
- WORK(1,I) = COS(P2 * (I-1))
- WORK(2,I) = SIN(P2 * (I-1))
- 10 CONTINUE
- RETURN
- END
-
C------------------------------------------------------------- ************
C ABORT
C ************

View File

@@ -0,0 +1,423 @@
$NetBSD: patch-ag,v 1.5 2008/06/21 20:00:22 joerg Exp $
Reorder functions in use order to fix compilation with f2c.
--- f_source/sciport/fftd.f.orig 2008-06-21 13:43:11.000000000 +0000
+++ f_source/sciport/fftd.f
@@ -1,3 +1,192 @@
+C----------------------------------------------- ************
+C CABLE2
+C ************
+ SUBROUTINE SPDCABLE2(NN,WORK)
+C
+ DOUBLE PRECISION WORK(2,NN),P2,TWOPI
+ DATA TWOPI /6.2831853071795864769252867665590057683943388D0/
+C
+ N = 2 * NN
+ P2 = TWOPI/N
+ DO 10 I=1, NN
+ WORK(1,I) = DCOS(P2 * (I-1))
+ WORK(2,I) = DSIN(P2 * (I-1))
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RCONV2
+C ************
+ SUBROUTINE SPDRCONV2(N,CY,C,CH)
+C
+ DOUBLE COMPLEX CY(1)
+ DOUBLE PRECISION CH(N/2,2),P(2,1),C(2,N/2)
+ DOUBLE PRECISION X,Y,Z,Z1
+C
+ N2 = N/2
+ P(1,1) = (C(1,1) + C(2,1)) * 2
+ P(2,1) = (C(1,1) - C(2,1)) * 2
+ CY(1) = DCMPLX(P(1,1),0.0D0)
+ CY(N2+1) = DCMPLX(P(2,1),0.0D0)
+ K = N2
+ DO 10 I=2, N2
+ X = C(1,I)+C(1,K)
+ Y = C(2,I)+C(2,K)
+ Z = C(1,I)-C(1,K)
+ Z1= C(2,I)-C(2,K)
+ P(1,1) = X + CH(I,1) * Y - CH(I,2) * Z
+ P(2,1) = Z1 - CH(I,2) * Y - CH(I,1) * Z
+ CY(I) = DCMPLX(P(1,1),P(2,1))
+ K = K - 1
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RCONV1
+C ************
+ SUBROUTINE SPDRCONV1(N,CY,C,CH)
+C
+ DOUBLE COMPLEX CY(1)
+ DOUBLE PRECISION CH(N/2,2),P(2,1),C(2,N/2)
+ DOUBLE PRECISION X,Y,Z,Z1
+C
+ N2 = N/2
+ P(1,1) = (C(1,1) + C(2,1)) * 2
+ P(2,1) = (C(1,1) - C(2,1)) * 2
+ CY(1) = DCMPLX(P(1,1),0.0D0)
+ CY(N2+1) = DCMPLX(P(2,1),0.0D0)
+ K = N2
+ DO 10 I=2, N2
+ X = C(1,I)+C(1,K)
+ Y = C(2,I)+C(2,K)
+ Z = C(1,I)-C(1,K)
+ Z1= C(2,I)-C(2,K)
+ P(1,1) = X + CH(I,1) * Y + CH(I,2) * Z
+ P(2,1) = Z1 + CH(I,2) * Y - CH(I,1) * Z
+ CY(I) = DCMPLX(P(1,1),P(2,1))
+ K = K - 1
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RTOCK3
+C ************
+ SUBROUTINE SPDRTOCK3(LS,NS,C,CH,CH2)
+C
+ DOUBLE COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
+ DOUBLE PRECISION CH2(2,NS,LS,2)
+C
+ IF (LS .GT. NS) GOTO 30
+ DO 600 I=1, LS
+ DO 600 J=1, NS
+ WYK =CONJG(DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 600 CONTINUE
+ RETURN
+ 30 CONTINUE
+ DO 800 J=1, NS
+ DO 800 I=1, LS
+ WYK =CONJG(DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 800 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RABLE1
+C ************
+ SUBROUTINE SPDRABLE1(NN,WORK)
+C
+ DOUBLE PRECISION WORK(NN,2),P2,TWOPI
+ DATA TWOPI /6.2831853071795864769252867665590057683943388D0/
+C
+ N = 2 * NN
+ P2 = TWOPI/N
+ DO 10 I=1, NN
+ WORK(I,1) = DCOS(P2 * (I-1))
+ WORK(I,2) = DSIN(P2 * (I-1))
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C RTOCK2
+C ************
+ SUBROUTINE SPDRTOCK2(LS,NS,C,CH,CH2)
+C
+ DOUBLE COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
+ DOUBLE PRECISION CH2(2,NS,LS,2)
+C
+ IF (LS .GT. NS) GOTO 20
+ DO 200 I=1, LS
+ DO 200 J=1, NS
+ WYK = DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 200 CONTINUE
+ RETURN
+ 20 CONTINUE
+ DO 400 J=1, NS
+ DO 400 I=1, LS
+ WYK = DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
+ C(J,I,1) = CH(J,1,I) + WYK
+ C(J,I,2) = CH(J,1,I) - WYK
+ 400 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C CRBLE1
+C ************
+ SUBROUTINE SPDCRBLE1(NN,WORK)
+C
+ DOUBLE PRECISION WORK(NN,2),P2,TWOPI
+ DATA TWOPI /6.2831853071795864769252867665590057683943388D0/
+C
+ N = 2 * NN
+ P2 = TWOPI/N
+ DO 10 I=1, NN
+ WORK(I,1) = DCOS(P2 * (I-1))
+ WORK(I,2) = DSIN(P2 * (I-1))
+ 10 CONTINUE
+ RETURN
+ END
+
+C----------------------------------------------- ************
+C CRFORM
+C ************
+ SUBROUTINE SPDCRFORM(IX,NS,NDIV2,CX,C,CH2)
+C
+ DOUBLE COMPLEX CX(1),WYK1,C(NS,2),WYK
+ DOUBLE PRECISION CH2(NDIV2,2)
+C
+ IF (IX .GT. 0) GOTO 50
+ K = NS + 1
+ DO 10 I=1, NS
+ WYK = CONJG(CX(NDIV2-I+2))
+ C(I,1)= CX(I)+WYK + (CX(I) - WYK) * DCMPLX(CH2(I,2),CH2(I,1))
+ WYK1 = CONJG(CX(NDIV2-K+2))
+ C(I,2)= CX(K)+WYK1+ (CX(K) -WYK1) * DCMPLX(CH2(K,2),CH2(K,1))
+ K = K + 1
+ 10 CONTINUE
+ RETURN
+ 50 CONTINUE
+ K = NS + 1
+ DO 20 I=1, NS
+ WYK = CONJG(CX(NDIV2-I+2))
+ C(I,1)= CX(I)+WYK + (CX(I) - WYK) * DCMPLX(-CH2(I,2),CH2(I,1))
+ WYK1 = CONJG(CX(NDIV2-K+2))
+ C(I,2)= CX(K)+WYK1 +(CX(K) -WYK1) * DCMPLX(-CH2(K,2),CH2(K,1))
+ K = K + 1
+ 20 CONTINUE
+ RETURN
+ END
+
C------------------------------------------------------------- ************
C CRFFT2
C ************
@@ -62,36 +251,6 @@ C
END
C----------------------------------------------- ************
-C CRFORM
-C ************
- SUBROUTINE SPDCRFORM(IX,NS,NDIV2,CX,C,CH2)
-C
- DOUBLE COMPLEX CX(1),WYK1,C(NS,2),WYK
- DOUBLE PRECISION CH2(NDIV2,2)
-C
- IF (IX .GT. 0) GOTO 50
- K = NS + 1
- DO 10 I=1, NS
- WYK = CONJG(CX(NDIV2-I+2))
- C(I,1)= CX(I)+WYK + (CX(I) - WYK) * DCMPLX(CH2(I,2),CH2(I,1))
- WYK1 = CONJG(CX(NDIV2-K+2))
- C(I,2)= CX(K)+WYK1+ (CX(K) -WYK1) * DCMPLX(CH2(K,2),CH2(K,1))
- K = K + 1
- 10 CONTINUE
- RETURN
- 50 CONTINUE
- K = NS + 1
- DO 20 I=1, NS
- WYK = CONJG(CX(NDIV2-I+2))
- C(I,1)= CX(I)+WYK + (CX(I) - WYK) * DCMPLX(-CH2(I,2),CH2(I,1))
- WYK1 = CONJG(CX(NDIV2-K+2))
- C(I,2)= CX(K)+WYK1 +(CX(K) -WYK1) * DCMPLX(-CH2(K,2),CH2(K,1))
- K = K + 1
- 20 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
C CROCK1
C ************
SUBROUTINE SPDCROCK1(NS,C,CH)
@@ -157,23 +316,6 @@ C
RETURN
END
-C----------------------------------------------- ************
-C CRBLE1
-C ************
- SUBROUTINE SPDCRBLE1(NN,WORK)
-C
- DOUBLE PRECISION WORK(NN,2),P2,TWOPI
- DATA TWOPI /6.2831853071795864769252867665590057683943388D0/
-C
- N = 2 * NN
- P2 = TWOPI/N
- DO 10 I=1, NN
- WORK(I,1) = DCOS(P2 * (I-1))
- WORK(I,2) = DSIN(P2 * (I-1))
- 10 CONTINUE
- RETURN
- END
-
C------------------------------------------------------------- ************
C RCFFT2
C ************
@@ -236,32 +378,6 @@ C
END
C----------------------------------------------- ************
-C RTOCK2
-C ************
- SUBROUTINE SPDRTOCK2(LS,NS,C,CH,CH2)
-C
- DOUBLE COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
- DOUBLE PRECISION CH2(2,NS,LS,2)
-C
- IF (LS .GT. NS) GOTO 20
- DO 200 I=1, LS
- DO 200 J=1, NS
- WYK = DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 200 CONTINUE
- RETURN
- 20 CONTINUE
- DO 400 J=1, NS
- DO 400 I=1, LS
- WYK = DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2)) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 400 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
C RTOCK1
C ************
SUBROUTINE SPDRTOCK1(NS,C,CH)
@@ -275,105 +391,6 @@ C
RETURN
END
-C----------------------------------------------- ************
-C RTOCK3
-C ************
- SUBROUTINE SPDRTOCK3(LS,NS,C,CH,CH2)
-C
- DOUBLE COMPLEX WYK,C(NS,LS,2),CH(NS,2,LS)
- DOUBLE PRECISION CH2(2,NS,LS,2)
-C
- IF (LS .GT. NS) GOTO 30
- DO 600 I=1, LS
- DO 600 J=1, NS
- WYK =CONJG(DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 600 CONTINUE
- RETURN
- 30 CONTINUE
- DO 800 J=1, NS
- DO 800 I=1, LS
- WYK =CONJG(DCMPLX(CH2(1,1,I,1),CH2(1,1,I,2))) * CH(J,2,I)
- C(J,I,1) = CH(J,1,I) + WYK
- C(J,I,2) = CH(J,1,I) - WYK
- 800 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
-C RABLE1
-C ************
- SUBROUTINE SPDRABLE1(NN,WORK)
-C
- DOUBLE PRECISION WORK(NN,2),P2,TWOPI
- DATA TWOPI /6.2831853071795864769252867665590057683943388D0/
-C
- N = 2 * NN
- P2 = TWOPI/N
- DO 10 I=1, NN
- WORK(I,1) = DCOS(P2 * (I-1))
- WORK(I,2) = DSIN(P2 * (I-1))
- 10 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
-C RCONV1
-C ************
- SUBROUTINE SPDRCONV1(N,CY,C,CH)
-C
- DOUBLE COMPLEX CY(1)
- DOUBLE PRECISION CH(N/2,2),P(2,1),C(2,N/2)
- DOUBLE PRECISION X,Y,Z,Z1
-C
- N2 = N/2
- P(1,1) = (C(1,1) + C(2,1)) * 2
- P(2,1) = (C(1,1) - C(2,1)) * 2
- CY(1) = DCMPLX(P(1,1),0.0D0)
- CY(N2+1) = DCMPLX(P(2,1),0.0D0)
- K = N2
- DO 10 I=2, N2
- X = C(1,I)+C(1,K)
- Y = C(2,I)+C(2,K)
- Z = C(1,I)-C(1,K)
- Z1= C(2,I)-C(2,K)
- P(1,1) = X + CH(I,1) * Y + CH(I,2) * Z
- P(2,1) = Z1 + CH(I,2) * Y - CH(I,1) * Z
- CY(I) = DCMPLX(P(1,1),P(2,1))
- K = K - 1
- 10 CONTINUE
- RETURN
- END
-
-C----------------------------------------------- ************
-C RCONV2
-C ************
- SUBROUTINE SPDRCONV2(N,CY,C,CH)
-C
- DOUBLE COMPLEX CY(1)
- DOUBLE PRECISION CH(N/2,2),P(2,1),C(2,N/2)
- DOUBLE PRECISION X,Y,Z,Z1
-C
- N2 = N/2
- P(1,1) = (C(1,1) + C(2,1)) * 2
- P(2,1) = (C(1,1) - C(2,1)) * 2
- CY(1) = DCMPLX(P(1,1),0.0D0)
- CY(N2+1) = DCMPLX(P(2,1),0.0D0)
- K = N2
- DO 10 I=2, N2
- X = C(1,I)+C(1,K)
- Y = C(2,I)+C(2,K)
- Z = C(1,I)-C(1,K)
- Z1= C(2,I)-C(2,K)
- P(1,1) = X + CH(I,1) * Y - CH(I,2) * Z
- P(2,1) = Z1 - CH(I,2) * Y - CH(I,1) * Z
- CY(I) = DCMPLX(P(1,1),P(2,1))
- K = K - 1
- 10 CONTINUE
- RETURN
- END
-
C------------------------------------------------------------- ************
C CFFT2
C ************
@@ -516,23 +533,6 @@ C
RETURN
END
-C----------------------------------------------- ************
-C CABLE2
-C ************
- SUBROUTINE SPDCABLE2(NN,WORK)
-C
- DOUBLE PRECISION WORK(2,NN),P2,TWOPI
- DATA TWOPI /6.2831853071795864769252867665590057683943388D0/
-C
- N = 2 * NN
- P2 = TWOPI/N
- DO 10 I=1, NN
- WORK(1,I) = DCOS(P2 * (I-1))
- WORK(2,I) = DSIN(P2 * (I-1))
- 10 CONTINUE
- RETURN
- END
-
C------------------------------------------------------------- ************
C ABORT
C ************

View File

@@ -0,0 +1,20 @@
$NetBSD: patch-ah,v 1.1 2008/06/21 20:00:22 joerg Exp $
--- c_source/fourier.c.orig 2008-06-21 13:47:28.000000000 +0000
+++ c_source/fourier.c
@@ -7,6 +7,7 @@
static split(COMPLEX*,unsigned,unsigned,COMPLEX*);
static join(COMPLEX*,unsigned,unsigned,COMPLEX*);
+static unsigned radix (unsigned);
@@ -24,7 +25,6 @@ unsigned n;
COMPLEX *out;
{
unsigned r;
- unsigned radix ();
if ((r = radix (n)) < n)
split (in, r, n / r, out);

View File

@@ -0,0 +1,15 @@
$NetBSD: patch-c__source_bitrev_c,v 1.1 2011/09/12 07:10:32 dholland Exp $
- fix mismatched return statements, which clang dislikes
--- c_source/bitrev.c~ 1998-10-20 16:42:09.000000000 +0000
+++ c_source/bitrev.c
@@ -9,7 +9,7 @@ typedef FFTW_REAL real;
void bitrev512(real *, int);
-bitrev(x, length)
+void bitrev(x, length)
real *x;
int length;
{

View File

@@ -0,0 +1,15 @@
$NetBSD: patch-c__source_dint_c,v 1.1 2012/04/22 21:08:20 dholland Exp $
Declare return type to be consistent with the declaration visible at
the call site, and with the code itself. Fixes clang build.
--- c_source/dint.c~ 1998-10-20 16:42:11.000000000 +0000
+++ c_source/dint.c
@@ -7,6 +7,7 @@ typedef FFTW_REAL real;
The author retains the right to distribute this software freely, but
is not responsible for it's quality or maintainance. */
+void
dint(x, length, wtab)
real *x, *wtab;
int length;

View File

@@ -0,0 +1,12 @@
$NetBSD: patch-c__source_dintime.c,v 1.1 2012/07/03 18:19:17 joerg Exp $
--- c_source/dintime.c.orig 2012-07-03 12:47:39.000000000 +0000
+++ c_source/dintime.c
@@ -16,6 +16,7 @@ struct complex { real r,i; };
void dint(struct complex *, int, real *);
+void
dintime( x, length, wtab )
struct complex *x;
int length;

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-c__source_fft__duhamel.c,v 1.1 2012/07/03 18:19:17 joerg Exp $
--- c_source/fft_duhamel.c.orig 2012-07-03 12:48:09.000000000 +0000
+++ c_source/fft_duhamel.c
@@ -44,7 +44,7 @@ int np ;
*(py + i) = 0.0;
};
printf("\nuse %d point fft",n);
- return;
+ return n;
}
n2 = n+n;

View File

@@ -0,0 +1,12 @@
$NetBSD: patch-c__source_idint.c,v 1.1 2012/07/03 18:19:17 joerg Exp $
--- c_source/idint.c.orig 2012-07-03 12:50:05.000000000 +0000
+++ c_source/idint.c
@@ -7,6 +7,7 @@ typedef FFTW_REAL real;
The author retains the right to distribute this software freely, but
is not responsible for it's quality or maintainance. */
+void
idint(x, length, wtab)
real *x, *wtab;
int length;

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-c__source_idintime.c,v 1.1 2012/07/03 18:19:17 joerg Exp $
--- c_source/idintime.c.orig 2012-07-03 12:50:24.000000000 +0000
+++ c_source/idintime.c
@@ -14,7 +14,7 @@ struct complex { real r,i; };
void idint(struct complex*x,int,real*);
-idintime( x, length, wtab )
+void idintime( x, length, wtab )
struct complex x[];
int length;
real *wtab;