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

4
math/algae/DESCR Normal file
View File

@@ -0,0 +1,4 @@
Algae is an interpreted language for numerical analysis. Algae
borrows ideas from languages like MATLAB, APL, and C, but it was
developed in response to a need for a free, efficient, and versatile
high-level language with large problem capability.

26
math/algae/Makefile Normal file
View File

@@ -0,0 +1,26 @@
# $NetBSD: Makefile,v 1.25 2012/09/11 23:04:16 asau Exp $
DISTNAME= algae-4.3.6
PKGREVISION= 2
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=algae/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://algae.sourceforge.net/
COMMENT= Interpreted language for numerical analysis
DEPENDS+= gnuplot>=3.5:../../graphics/gnuplot
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-dlmalloc
CONFIGURE_ENV= ac_cv_path_XTERM=xterm
USE_LANGUAGES= c fortran77
USE_GNU_READLINE= yes # uses history_truncate_file
INFO_FILES= yes
INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} \
mandir=${PREFIX}/${PKGMANDIR}/man1 \
infodir=${PREFIX}/${PKGINFODIR} \
htmldir=${PREFIX}/share/doc/algae
.include "../../devel/readline/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

91
math/algae/PLIST Normal file
View File

@@ -0,0 +1,91 @@
@comment $NetBSD: PLIST,v 1.9 2009/06/14 18:05:41 joerg Exp $
bin/algae
bin/${PKGNAME}
info/algae.info
lib/algae/${PKGVERSION}/algae.A
man/man1/algae.1
share/algae/${PKGVERSION}/tools/all.A
share/algae/${PKGVERSION}/tools/arg.A
share/algae/${PKGVERSION}/tools/autosrc.A
share/algae/${PKGVERSION}/tools/brent.A
share/algae/${PKGVERSION}/tools/circshift.A
share/algae/${PKGVERSION}/tools/combine.A
share/algae/${PKGVERSION}/tools/diff.A
share/algae/${PKGVERSION}/tools/equal.A
share/algae/${PKGVERSION}/tools/eval.A
share/algae/${PKGVERSION}/tools/first.A
share/algae/${PKGVERSION}/tools/gcd.A
share/algae/${PKGVERSION}/tools/grep.A
share/algae/${PKGVERSION}/tools/help.A
share/algae/${PKGVERSION}/tools/ident.A
share/algae/${PKGVERSION}/tools/info.A
share/algae/${PKGVERSION}/tools/inv.A
share/algae/${PKGVERSION}/tools/label.A
share/algae/${PKGVERSION}/tools/last.A
share/algae/${PKGVERSION}/tools/lcm.A
share/algae/${PKGVERSION}/tools/load.A
share/algae/${PKGVERSION}/tools/log10.A
share/algae/${PKGVERSION}/tools/logspace.A
share/algae/${PKGVERSION}/tools/magic.A
share/algae/${PKGVERSION}/tools/max.A
share/algae/${PKGVERSION}/tools/merge.A
share/algae/${PKGVERSION}/tools/message.A
share/algae/${PKGVERSION}/tools/monte.A
share/algae/${PKGVERSION}/tools/mult.A
share/algae/${PKGVERSION}/tools/ode4.A
share/algae/${PKGVERSION}/tools/pick.A
share/algae/${PKGVERSION}/tools/plot.A
share/algae/${PKGVERSION}/tools/primes.A
share/algae/${PKGVERSION}/tools/product.A
share/algae/${PKGVERSION}/tools/prof.A
share/algae/${PKGVERSION}/tools/provide.A
share/algae/${PKGVERSION}/tools/randn.A
share/algae/${PKGVERSION}/tools/require.A
share/algae/${PKGVERSION}/tools/reverse.A
share/algae/${PKGVERSION}/tools/roots.A
share/algae/${PKGVERSION}/tools/save.A
share/algae/${PKGVERSION}/tools/select.A
share/algae/${PKGVERSION}/tools/seq.A
share/algae/${PKGVERSION}/tools/shape.A
share/algae/${PKGVERSION}/tools/show.A
share/algae/${PKGVERSION}/tools/sign.A
share/algae/${PKGVERSION}/tools/solve.A
share/algae/${PKGVERSION}/tools/sources.A
share/algae/${PKGVERSION}/tools/spline.A
share/algae/${PKGVERSION}/tools/src.A
share/algae/${PKGVERSION}/tools/ssi.A
share/algae/${PKGVERSION}/tools/string.A
share/algae/${PKGVERSION}/tools/sum.A
share/algae/${PKGVERSION}/tools/surprise.A
share/algae/${PKGVERSION}/tools/tmp_file.A
share/algae/${PKGVERSION}/tools/tools.algae
share/algae/${PKGVERSION}/tools/trapz.A
share/algae/${PKGVERSION}/tools/umin.A
share/algae/${PKGVERSION}/tools/unlabel.A
share/algae/${PKGVERSION}/tools/what.A
share/algae/${PKGVERSION}/tools/who.A
share/doc/algae/COPYING
share/doc/algae/LICENSE
share/doc/algae/algae.html
share/doc/algae/algae.ps
share/doc/algae/algae_1.html
share/doc/algae/algae_10.html
share/doc/algae/algae_11.html
share/doc/algae/algae_12.html
share/doc/algae/algae_13.html
share/doc/algae/algae_14.html
share/doc/algae/algae_15.html
share/doc/algae/algae_16.html
share/doc/algae/algae_2.html
share/doc/algae/algae_3.html
share/doc/algae/algae_4.html
share/doc/algae/algae_5.html
share/doc/algae/algae_6.html
share/doc/algae/algae_7.html
share/doc/algae/algae_8.html
share/doc/algae/algae_9.html
share/doc/algae/algae_abt.html
share/doc/algae/algae_toc.html
share/doc/algae/icon.gif
share/doc/algae/index.html
share/doc/algae/info.db

13
math/algae/distinfo Normal file
View File

@@ -0,0 +1,13 @@
$NetBSD: distinfo,v 1.10 2012/07/03 17:42:48 joerg Exp $
SHA1 (algae-4.3.6.tar.gz) = f935540e8479b543d51cf04fc38e6c573679e19c
RMD160 (algae-4.3.6.tar.gz) = 0dfee737c3eccb59563fd85da8d7772937d5795c
Size (algae-4.3.6.tar.gz) = 1790061 bytes
SHA1 (patch-aa) = c9808abd82f27eb9b41358d8b962553446b473b8
SHA1 (patch-ab) = f98e5bbbf4ee4b21cf7f1c1b9c995195861929a5
SHA1 (patch-ac) = 0eeb4bf4348cf5bc2ac80d89f7740a24acf1ba7c
SHA1 (patch-ad) = f169de7ed2a8b0302f8bcd7110ca216526eaf1cb
SHA1 (patch-ae) = 0adef4e7da6ff23e0ea1dd24ae494ac8be2bf067
SHA1 (patch-af) = cd1036bf586459815b5b71400ef6cda75963be40
SHA1 (patch-ag) = 96e1ffc9fa8e844b83440f22a2d84a513b5cdae2
SHA1 (patch-ah) = 0d8d0ba684500ecaf1ab4f1d13445dcf89a01980

View File

@@ -0,0 +1,45 @@
$NetBSD: patch-aa,v 1.1.1.1 2002/05/04 01:10:03 jtb Exp $
--- /dev/null Tue Jan 2 02:09:36 2001
+++ fpe/netbsd1.5.c
@@ -0,0 +1,40 @@
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <math.h>
+#include <errno.h>
+#include <ieeefp.h>
+#include <setjmp.h>
+#include <signal.h>
+
+#if !SKIP_LOCAL_INCLUDES
+#include "exception.h"
+#include "message.h"
+#endif
+
+static void
+catch_sigfpe (int sig, int code, struct sigcontext *scp)
+{
+ fail ("Floating point exception.");
+ raise_exception ();
+}
+
+void
+enable_fpe_traps ()
+{
+ struct sigaction act;
+
+ act.sa_handler = (void (*)(int)) catch_sigfpe;
+ sigemptyset (&act.sa_mask);
+ act.sa_flags = 0;
+
+ if (sigaction (SIGFPE, &act, NULL))
+ wipeout ("Bad sigaction call.");
+
+ sigaddset (&act.sa_mask, SIGFPE);
+ sigprocmask (SIG_UNBLOCK, &act.sa_mask, NULL);
+
+ fpsetmask (FP_X_INV | FP_X_DZ | FP_X_OFL);
+}

View File

@@ -0,0 +1,87 @@
$NetBSD: patch-ab,v 1.5 2012/07/03 17:42:48 joerg Exp $
--- configure.orig 2003-12-17 03:15:18.000000000 +0000
+++ configure
@@ -1331,7 +1331,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
LIBS="$LIBS -lm"
f77_compile='${F77-f77} $FFLAGS -c conftest.f 1>&5 2>&5'
f77_make='make F77="${F77-f77}" FFLAGS="$FFLAGS" -f conftest.mak conftest.o 1>&5 2>&5'
-c_f77_link='(${F77-f77} $FFLAGS -c conftestf.f && ${CC-cc} $CFLAGS $CPPFLAGS conftest.c conftestf.o -o conftest $LDFLAGS $LIBS) 1>&5 2>&5'
+c_f77_link='(${F77-f77} $FFLAGS -c conftestf.f && ${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c && ${F77-f77} conftest.o conftestf.o -o conftest $LDFLAGS $LIBS) 1>&5 2>&5'
# The next two don't include LDFLAGS, because some loser f77 compilers
# (like on hp) do their own thing with the -L option.
@@ -2561,9 +2561,9 @@ echo $ECHO_N "checking for support of AN
cat > conftest.$ac_ext <<EOF
#line 2562 "configure"
#include "confdefs.h"
-int main(int argc, char *argv);
+int main(int argc, char **argv);
int t(void);
-int main(int argc, char *argv) { return t(); }
+int main(int argc, char **argv) { return t(); }
int t(void) { return 0; }
EOF
if eval $ac_compile; then
@@ -4435,60 +4435,12 @@ echo "${ECHO_T}\"T\" becomes \"$f77_sym\
#---------------------------------------------------------------------
-# Where would we expect to find the Fortran libraries?
-#---------------------------------------------------------------------
-
-
-# Check whether --with-fortran-libs or --without-fortran-libs was given.
-if test "${with_fortran_libs+set}" = set; then
- withval="$with_fortran_libs"
- fortran_libs="${withval}"
-else
- # The patterns are not necessarily exclusive, so their order is important.
- case "$host" in
- sparc-sun-sunos4* )
- fortran_libs="/usr/lang/SC1.0" ;;
- sparc-sun-solaris2* )
- fortran_libs=`/bin/ls -d /opt/SUNWspro/SC* | head -1`/lib ;;
- alpha*-*-osf* )
- fortran_libs="/usr/lib" ;;
- *-hp-hpux1* )
- fortran_libs="/opt/fortran/lib" ;;
- * )
- fortran_libs="" ;;
- esac
-fi;
-
-#---------------------------------------------------------------------
-# What are the names of the native Fortran libraries? The patterns
-# are not necessarily exclusive, so their order is important.
-#---------------------------------------------------------------------
-
-case "$host" in
- alpha* ) f77_lib_names="Futil ots for Ufor" ;;
- *-aix* ) f77_lib_names="xlf xlf90" ;;
- *-hpux1* ) f77_lib_names="cl U77" ;;
- *-hpux9* ) f77_lib_names="f U77" ;;
- *-hpux* ) f77_lib_names="F77 I77 IO77" ;;
- *-dec-ultrix* ) f77_lib_names="for i util ots I77 U77 F77" ;;
- mips-sgi-irix*) f77_lib_names="F77 I77 U77 isam fpe ftn" ;;
- mips-* ) f77_lib_names="F77 I77 U77 isam" ;;
- *-solaris2* ) f77_lib_names="F77 M77 sunmath" ;;
- *-sunos4* ) f77_lib_names="F77 V77" ;;
- titan-* ) f77_lib_names="iF77 uF77 mF77" ;;
- *-unicos* ) f77_lib_names="F77 I77 sci f" ;;
- * ) f77_lib_names="F77 I77" ;;
-esac
-f77_lib_names="$f77_lib_names g2c f2c"
-for f in $f77_lib_names; do reversed_names="$f $reversed_names"; done
-
-#---------------------------------------------------------------------
# On linux (and perhaps other GNU systems), the linker has trouble
# with dynamically linked Fortran.
#---------------------------------------------------------------------
cat >> confdefs.h <<\EOF
-#if linux
+#if linux || defined(__NetBSD__) || defined(__DragonFly__)
void MAIN__ (void) {abort();}
#endif
EOF

View File

@@ -0,0 +1,26 @@
$NetBSD: patch-ac,v 1.3 2008/12/14 13:19:15 tnn Exp $
--- src/Makefile.in.orig 2003-12-07 00:39:57.000000000 +0300
+++ src/Makefile.in 2008-12-07 00:26:34.000000000 +0300
@@ -129,7 +129,7 @@
# <<<< This section is deleted in the "binary" distribution.
algae: $(OBJECTS) ../superlu/libsuperlu.a ../arpack/libarpack.a
- $(CC) $(CFLAGS) $(LDFLAGS) -o algae $(OBJECTS) $(LIBS)
+ $(FC) $(CFLAGS) $(LDFLAGS) -o algae $(OBJECTS) $(LIBS)
Makefile: Makefile.in ../config.status
cd ..; ./config.status
@@ -218,9 +218,9 @@
# ========================== Installation ==========================
install: all
- $(INSTALL_PROGRAM) algae $(bindir)/algae-$(VERSION_NUMBER)
- rm -f $(bindir)/algae
- ln -s $(bindir)/algae-$(VERSION_NUMBER) $(bindir)/algae
+ $(INSTALL_PROGRAM) algae $(DESTDIR)$(bindir)/algae-$(VERSION_NUMBER)
+ rm -f $(DESTDIR)$(bindir)/algae
+ ln -s $(bindir)/algae-$(VERSION_NUMBER) $(DESTDIR)$(bindir)/algae
.PHONY: install
uninstall:

View File

@@ -0,0 +1,13 @@
$NetBSD: patch-ad,v 1.2 2005/12/21 17:56:10 joerg Exp $
--- src/main.c.orig Sat May 3 07:25:04 1997
+++ src/main.c
@@ -375,7 +375,7 @@
* references from the Fortran libraries.
*/
-#if linux
+#if defined (linux) || defined (__NetBSD__) || defined(__DragonFly__)
void
MAIN__ (void)

View File

@@ -0,0 +1,35 @@
$NetBSD: patch-ae,v 1.5 2008/12/14 13:19:15 tnn Exp $
--- Makefile.in.orig 2003-12-07 00:39:23.000000000 +0300
+++ Makefile.in 2008-12-06 23:56:24.000000000 +0300
@@ -294,15 +294,15 @@
# >>>> End of deleted section.
install: algae.A installdirs
- $(INSTALL_DATA) algae.A $(RC0)
- $(INSTALL_DATA) COPYING $(htmldir)
- $(INSTALL_DATA) LICENSE $(htmldir)
+ $(INSTALL_DATA) algae.A $(DESTDIR)$(RC0)
+ $(INSTALL_DATA) COPYING $(DESTDIR)$(htmldir)
+ $(INSTALL_DATA) LICENSE $(DESTDIR)$(htmldir)
cd src; \
$(MAKE) bindir=$(bindir) install
cd tools; \
$(MAKE) tooldir=$(tooldir) install
cd doc; \
- $(MAKE) mandir=$(mandir) datadir=$(datadir) \
+ $(MAKE) prefix=$(prefix) mandir=$(mandir) datadir=$(datadir) \
manext=$(manext) infodir=$(infodir) htmldir=$(htmldir) install
.PHONY: install
@@ -310,8 +310,8 @@
# if necessary.
installdirs: mkinstalldirs
- $(srcdir)/mkinstalldirs $(bindir) $(datadir) $(libdir) $(infodir) \
- $(mandir) $(tooldir) $(rcdir) $(htmldir)
+ $(srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(datadir) $(DESTDIR)$(libdir) $(DESTDIR)$(infodir) \
+ $(DESTDIR)$(mandir) $(DESTDIR)$(tooldir) $(DESTDIR)$(rcdir) $(DESTDIR)$(htmldir)
.PHONY: installdirs
# Why would anyone want to uninstall?

View File

@@ -0,0 +1,25 @@
$NetBSD: patch-af,v 1.2 2008/12/14 13:19:15 tnn Exp $
--- doc/Makefile.in.orig 2001-10-31 20:43:44.000000000 +0100
+++ doc/Makefile.in
@@ -173,15 +173,16 @@ maintainer-clean::
install: algae.info algae.1 algae_toc.html index.html info.db
-if test -f algae.info; then d=.; else d=$(srcdir); fi; \
for f in $$d/algae.info $$d/algae.info-*; do \
- $(INSTALL_DATA) $$f $(infodir); \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(infodir); \
done; \
if $(SHELL) -c 'install-info --version' > /dev/null 2>&1; then \
install-info --info-dir=$(infodir) $$d/algae.info; else true; fi
-if test -f algae_toc.html; then d=.; else d=$(srcdir); fi; \
for f in $$d/index.html $$d/algae*.html $$d/icon.gif $$d/info.db; do \
- $(INSTALL_DATA) $$f $(htmldir); done
- -rm -f $(datadir)/algae/html; ln -s $(htmldir) $(datadir)/algae/html
- -$(INSTALL_DATA) algae.1 $(mandir)/algae.$(manext)
+ $(INSTALL_DATA) $$f $(DESTDIR)$(htmldir); done
+ -mkdir -p $(DESTDIR)$(prefix)/share/doc/algae
+ -$(INSTALL_DATA) algae.ps $(DESTDIR)$(prefix)/share/doc/algae
+ -$(INSTALL_DATA) algae.1 $(DESTDIR)$(mandir)/algae.$(manext)
uninstall:
rm -f $(infodir)/algae.info* $(mandir)/algae.$(manext) \

372
math/algae/patches/patch-ag Normal file
View File

@@ -0,0 +1,372 @@
$NetBSD: patch-ag,v 1.1 2008/06/21 19:31:03 joerg Exp $
Reorder some functions to ensure they are defined before used.
--- src/cfft.f.orig 1996-10-19 19:55:37.000000000 +0000
+++ src/cfft.f
@@ -13,42 +13,137 @@
*
- SUBROUTINE CFFTI(N,WSAVE)
+ SUBROUTINE CFFTF1(N,C,CH,WA,IFAC)
CSE
IMPLICIT REAL*8(A-H,O-Z)
-C***BEGIN PROLOGUE CFFTI
-C***DATE WRITTEN 790601 (YYMMDD)
-C***REVISION DATE 830401 (YYMMDD)
-C***CATEGORY NO. J1A2
-C***KEYWORDS FOURIER TRANSFORM
-C***AUTHOR SWARZTRAUBER, P. N., (NCAR)
-CPS
-C***PURPOSE Initialize for CFFTF and CFFTB.
-C***DESCRIPTION
-C
-C Subroutine CFFTI initializes the array WSAVE which is used in
-C both CFFTF and CFFTB. The prime factorization of N together with
-C a tabulation of the trigonometric functions are computed and
-C stored in WSAVE.
-CPE
-CAS
-C Input Parameter
-C
-C N the length of the sequence to be transformed
-C
-C Output Parameter
-C
-C WSAVE a work array which must be dimensioned at least 4*N+15.
-C The same work array can be used for both CFFTF and CFFTB
-C as long as N remains unchanged. Different WSAVE arrays
-C are required for different values of N. The contents of
-C WSAVE must not be changed between calls of CFFTF or CFFTB.
-CAE
-C***REFERENCES (NONE)
-C***ROUTINES CALLED CFFTI1
-C***END PROLOGUE CFFTI
- DIMENSION WSAVE(1)
-C***FIRST EXECUTABLE STATEMENT CFFTI
- IF (N .EQ. 1) RETURN
- IW1 = N+N+1
- IW2 = IW1+N+N
- CALL CFFTI1 (N,WSAVE(IW1),WSAVE(IW2))
+C***BEGIN PROLOGUE CFFTF1
+C***REFER TO CFFTF
+C***ROUTINES CALLED PASSF,PASSF2,PASSF3,PASSF4,PASSF5
+C***END PROLOGUE CFFTF1
+ DIMENSION CH(1) ,C(1) ,WA(1) ,IFAC(2)
+C***FIRST EXECUTABLE STATEMENT CFFTF1
+ NF = IFAC(2)
+ NA = 0
+ L1 = 1
+ IW = 1
+ DO 116 K1=1,NF
+ IP = IFAC(K1+2)
+ L2 = IP*L1
+ IDO = N/L2
+ IDOT = IDO+IDO
+ IDL1 = IDOT*L1
+ IF (IP .NE. 4) GO TO 103
+ IX2 = IW+IDOT
+ IX3 = IX2+IDOT
+ IF (NA .NE. 0) GO TO 101
+ CALL PASSF4 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3))
+ GO TO 102
+ 101 CALL PASSF4 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3))
+ 102 NA = 1-NA
+ GO TO 115
+ 103 IF (IP .NE. 2) GO TO 106
+ IF (NA .NE. 0) GO TO 104
+ CALL PASSF2 (IDOT,L1,C,CH,WA(IW))
+ GO TO 105
+ 104 CALL PASSF2 (IDOT,L1,CH,C,WA(IW))
+ 105 NA = 1-NA
+ GO TO 115
+ 106 IF (IP .NE. 3) GO TO 109
+ IX2 = IW+IDOT
+ IF (NA .NE. 0) GO TO 107
+ CALL PASSF3 (IDOT,L1,C,CH,WA(IW),WA(IX2))
+ GO TO 108
+ 107 CALL PASSF3 (IDOT,L1,CH,C,WA(IW),WA(IX2))
+ 108 NA = 1-NA
+ GO TO 115
+ 109 IF (IP .NE. 5) GO TO 112
+ IX2 = IW+IDOT
+ IX3 = IX2+IDOT
+ IX4 = IX3+IDOT
+ IF (NA .NE. 0) GO TO 110
+ CALL PASSF5 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4))
+ GO TO 111
+ 110 CALL PASSF5 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4))
+ 111 NA = 1-NA
+ GO TO 115
+ 112 IF (NA .NE. 0) GO TO 113
+ CALL PASSF (NAC,IDOT,IP,L1,IDL1,C,C,C,CH,CH,WA(IW))
+ GO TO 114
+ 113 CALL PASSF (NAC,IDOT,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW))
+ 114 IF (NAC .NE. 0) NA = 1-NA
+ 115 L1 = L2
+ IW = IW+(IP-1)*IDOT
+ 116 CONTINUE
+ IF (NA .EQ. 0) RETURN
+ N2 = N+N
+ DO 117 I=1,N2
+ C(I) = CH(I)
+ 117 CONTINUE
+ RETURN
+ END
+*
+ SUBROUTINE CFFTB1(N,C,CH,WA,IFAC)
+CSE
+ IMPLICIT REAL*8(A-H,O-Z)
+C***BEGIN PROLOGUE CFFTB1
+C***REFER TO CFFTB
+C***ROUTINES CALLED PASSB,PASSB2,PASSB3,PASSB4,PASSB5
+C***END PROLOGUE CFFTB1
+ DIMENSION CH(1) ,C(1) ,WA(1) ,IFAC(2)
+C***FIRST EXECUTABLE STATEMENT CFFTB1
+ NF = IFAC(2)
+ NA = 0
+ L1 = 1
+ IW = 1
+ DO 116 K1=1,NF
+ IP = IFAC(K1+2)
+ L2 = IP*L1
+ IDO = N/L2
+ IDOT = IDO+IDO
+ IDL1 = IDOT*L1
+ IF (IP .NE. 4) GO TO 103
+ IX2 = IW+IDOT
+ IX3 = IX2+IDOT
+ IF (NA .NE. 0) GO TO 101
+ CALL PASSB4 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3))
+ GO TO 102
+ 101 CALL PASSB4 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3))
+ 102 NA = 1-NA
+ GO TO 115
+ 103 IF (IP .NE. 2) GO TO 106
+ IF (NA .NE. 0) GO TO 104
+ CALL PASSB2 (IDOT,L1,C,CH,WA(IW))
+ GO TO 105
+ 104 CALL PASSB2 (IDOT,L1,CH,C,WA(IW))
+ 105 NA = 1-NA
+ GO TO 115
+ 106 IF (IP .NE. 3) GO TO 109
+ IX2 = IW+IDOT
+ IF (NA .NE. 0) GO TO 107
+ CALL PASSB3 (IDOT,L1,C,CH,WA(IW),WA(IX2))
+ GO TO 108
+ 107 CALL PASSB3 (IDOT,L1,CH,C,WA(IW),WA(IX2))
+ 108 NA = 1-NA
+ GO TO 115
+ 109 IF (IP .NE. 5) GO TO 112
+ IX2 = IW+IDOT
+ IX3 = IX2+IDOT
+ IX4 = IX3+IDOT
+ IF (NA .NE. 0) GO TO 110
+ CALL PASSB5 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4))
+ GO TO 111
+ 110 CALL PASSB5 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4))
+ 111 NA = 1-NA
+ GO TO 115
+ 112 IF (NA .NE. 0) GO TO 113
+ CALL PASSB (NAC,IDOT,IP,L1,IDL1,C,C,C,CH,CH,WA(IW))
+ GO TO 114
+ 113 CALL PASSB (NAC,IDOT,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW))
+ 114 IF (NAC .NE. 0) NA = 1-NA
+ 115 L1 = L2
+ IW = IW+(IP-1)*IDOT
+ 116 CONTINUE
+ IF (NA .EQ. 0) RETURN
+ N2 = N+N
+ DO 117 I=1,N2
+ C(I) = CH(I)
+ 117 CONTINUE
RETURN
@@ -124,2 +219,45 @@ C***FIRST EXECUTABLE STATEMENT CFFTI1
*
+ SUBROUTINE CFFTI(N,WSAVE)
+CSE
+ IMPLICIT REAL*8(A-H,O-Z)
+C***BEGIN PROLOGUE CFFTI
+C***DATE WRITTEN 790601 (YYMMDD)
+C***REVISION DATE 830401 (YYMMDD)
+C***CATEGORY NO. J1A2
+C***KEYWORDS FOURIER TRANSFORM
+C***AUTHOR SWARZTRAUBER, P. N., (NCAR)
+CPS
+C***PURPOSE Initialize for CFFTF and CFFTB.
+C***DESCRIPTION
+C
+C Subroutine CFFTI initializes the array WSAVE which is used in
+C both CFFTF and CFFTB. The prime factorization of N together with
+C a tabulation of the trigonometric functions are computed and
+C stored in WSAVE.
+CPE
+CAS
+C Input Parameter
+C
+C N the length of the sequence to be transformed
+C
+C Output Parameter
+C
+C WSAVE a work array which must be dimensioned at least 4*N+15.
+C The same work array can be used for both CFFTF and CFFTB
+C as long as N remains unchanged. Different WSAVE arrays
+C are required for different values of N. The contents of
+C WSAVE must not be changed between calls of CFFTF or CFFTB.
+CAE
+C***REFERENCES (NONE)
+C***ROUTINES CALLED CFFTI1
+C***END PROLOGUE CFFTI
+ DIMENSION WSAVE(1)
+C***FIRST EXECUTABLE STATEMENT CFFTI
+ IF (N .EQ. 1) RETURN
+ IW1 = N+N+1
+ IW2 = IW1+N+N
+ CALL CFFTI1 (N,WSAVE(IW1),WSAVE(IW2))
+ RETURN
+ END
+*
SUBROUTINE CFFTF(N,C,WSAVE)
@@ -192,71 +330,2 @@ C***FIRST EXECUTABLE STATEMENT CFFTF
*
- SUBROUTINE CFFTF1(N,C,CH,WA,IFAC)
-CSE
- IMPLICIT REAL*8(A-H,O-Z)
-C***BEGIN PROLOGUE CFFTF1
-C***REFER TO CFFTF
-C***ROUTINES CALLED PASSF,PASSF2,PASSF3,PASSF4,PASSF5
-C***END PROLOGUE CFFTF1
- DIMENSION CH(1) ,C(1) ,WA(1) ,IFAC(2)
-C***FIRST EXECUTABLE STATEMENT CFFTF1
- NF = IFAC(2)
- NA = 0
- L1 = 1
- IW = 1
- DO 116 K1=1,NF
- IP = IFAC(K1+2)
- L2 = IP*L1
- IDO = N/L2
- IDOT = IDO+IDO
- IDL1 = IDOT*L1
- IF (IP .NE. 4) GO TO 103
- IX2 = IW+IDOT
- IX3 = IX2+IDOT
- IF (NA .NE. 0) GO TO 101
- CALL PASSF4 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3))
- GO TO 102
- 101 CALL PASSF4 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3))
- 102 NA = 1-NA
- GO TO 115
- 103 IF (IP .NE. 2) GO TO 106
- IF (NA .NE. 0) GO TO 104
- CALL PASSF2 (IDOT,L1,C,CH,WA(IW))
- GO TO 105
- 104 CALL PASSF2 (IDOT,L1,CH,C,WA(IW))
- 105 NA = 1-NA
- GO TO 115
- 106 IF (IP .NE. 3) GO TO 109
- IX2 = IW+IDOT
- IF (NA .NE. 0) GO TO 107
- CALL PASSF3 (IDOT,L1,C,CH,WA(IW),WA(IX2))
- GO TO 108
- 107 CALL PASSF3 (IDOT,L1,CH,C,WA(IW),WA(IX2))
- 108 NA = 1-NA
- GO TO 115
- 109 IF (IP .NE. 5) GO TO 112
- IX2 = IW+IDOT
- IX3 = IX2+IDOT
- IX4 = IX3+IDOT
- IF (NA .NE. 0) GO TO 110
- CALL PASSF5 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4))
- GO TO 111
- 110 CALL PASSF5 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4))
- 111 NA = 1-NA
- GO TO 115
- 112 IF (NA .NE. 0) GO TO 113
- CALL PASSF (NAC,IDOT,IP,L1,IDL1,C,C,C,CH,CH,WA(IW))
- GO TO 114
- 113 CALL PASSF (NAC,IDOT,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW))
- 114 IF (NAC .NE. 0) NA = 1-NA
- 115 L1 = L2
- IW = IW+(IP-1)*IDOT
- 116 CONTINUE
- IF (NA .EQ. 0) RETURN
- N2 = N+N
- DO 117 I=1,N2
- C(I) = CH(I)
- 117 CONTINUE
- RETURN
- END
-*
SUBROUTINE PASSF(NAC,IDO,IP,L1,IDL1,CC,C1,C2,CH,CH2,WA)
@@ -797,71 +866,2 @@ C***FIRST EXECUTABLE STATEMENT CFFTB
*
- SUBROUTINE CFFTB1(N,C,CH,WA,IFAC)
-CSE
- IMPLICIT REAL*8(A-H,O-Z)
-C***BEGIN PROLOGUE CFFTB1
-C***REFER TO CFFTB
-C***ROUTINES CALLED PASSB,PASSB2,PASSB3,PASSB4,PASSB5
-C***END PROLOGUE CFFTB1
- DIMENSION CH(1) ,C(1) ,WA(1) ,IFAC(2)
-C***FIRST EXECUTABLE STATEMENT CFFTB1
- NF = IFAC(2)
- NA = 0
- L1 = 1
- IW = 1
- DO 116 K1=1,NF
- IP = IFAC(K1+2)
- L2 = IP*L1
- IDO = N/L2
- IDOT = IDO+IDO
- IDL1 = IDOT*L1
- IF (IP .NE. 4) GO TO 103
- IX2 = IW+IDOT
- IX3 = IX2+IDOT
- IF (NA .NE. 0) GO TO 101
- CALL PASSB4 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3))
- GO TO 102
- 101 CALL PASSB4 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3))
- 102 NA = 1-NA
- GO TO 115
- 103 IF (IP .NE. 2) GO TO 106
- IF (NA .NE. 0) GO TO 104
- CALL PASSB2 (IDOT,L1,C,CH,WA(IW))
- GO TO 105
- 104 CALL PASSB2 (IDOT,L1,CH,C,WA(IW))
- 105 NA = 1-NA
- GO TO 115
- 106 IF (IP .NE. 3) GO TO 109
- IX2 = IW+IDOT
- IF (NA .NE. 0) GO TO 107
- CALL PASSB3 (IDOT,L1,C,CH,WA(IW),WA(IX2))
- GO TO 108
- 107 CALL PASSB3 (IDOT,L1,CH,C,WA(IW),WA(IX2))
- 108 NA = 1-NA
- GO TO 115
- 109 IF (IP .NE. 5) GO TO 112
- IX2 = IW+IDOT
- IX3 = IX2+IDOT
- IX4 = IX3+IDOT
- IF (NA .NE. 0) GO TO 110
- CALL PASSB5 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4))
- GO TO 111
- 110 CALL PASSB5 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4))
- 111 NA = 1-NA
- GO TO 115
- 112 IF (NA .NE. 0) GO TO 113
- CALL PASSB (NAC,IDOT,IP,L1,IDL1,C,C,C,CH,CH,WA(IW))
- GO TO 114
- 113 CALL PASSB (NAC,IDOT,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW))
- 114 IF (NAC .NE. 0) NA = 1-NA
- 115 L1 = L2
- IW = IW+(IP-1)*IDOT
- 116 CONTINUE
- IF (NA .EQ. 0) RETURN
- N2 = N+N
- DO 117 I=1,N2
- C(I) = CH(I)
- 117 CONTINUE
- RETURN
- END
-*
SUBROUTINE PASSB(NAC,IDO,IP,L1,IDL1,CC,C1,C2,CH,CH2,WA)

View File

@@ -0,0 +1,15 @@
$NetBSD: patch-ah,v 1.1 2008/12/14 13:19:15 tnn Exp $
--- tools/Makefile.in.orig 2002-08-01 22:41:06.000000000 +0400
+++ tools/Makefile.in 2008-12-06 23:58:25.000000000 +0300
@@ -47,8 +47,8 @@
# ========================== Installation =========================
install: tools.algae
- for f in *.A; do $(INSTALL_DATA) $$f $(tooldir); done
- $(INSTALL_DATA) tools.algae $(tooldir)
+ for f in *.A; do $(INSTALL_DATA) $$f $(DESTDIR)$(tooldir); done
+ $(INSTALL_DATA) tools.algae $(DESTDIR)$(tooldir)
.PHONY: install
uninstall: