Skip to content

Commit bc35769

Browse files
committed
Public Domain Copyright
0 parents  commit bc35769

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+3929
-0
lines changed

.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# fpm files
2+
build*
3+
API-doc/*
4+
5+
# vscode files
6+
.vscode/*

README.md

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# FFTPACK 4.0 PUBLIC DOMAIN COPYRIGHT
2+
FFTPack aims to provide an easily usable package of functions using FFTPack library (Fortran 77).
3+
4+
## Getting started
5+
```bash
6+
git clone https://github.com/certik/fftpack.git
7+
cd fftpack
8+
git branch fftpack4.0
9+
```
10+
## Dependencies
11+
12+
Git and [fortran-lang/fpm](https://github.com/fortran-lang/fpm)
13+
14+
### Supported Compilers
15+
The following combinations are tested on the default branch of `fftpack`:
16+
|Name|Vesrion|Platform|Architecture|
17+
|---|---|---|---|
18+
|GCC Fortran(MSYS2)|10|Windows 10|x86_64|
19+
20+
### Build with [fortran-lang/fpm](https://github.com/fortran-lang/fpm)
21+
Fortran Package Manager (fpm) is a great package manager and build system for Fortran.
22+
You can build using provided `fpm.toml`:
23+
```bash
24+
fpm build
25+
fpm test
26+
```
27+
To use `fftpack` within your `fpm` project, add the following to `fpm.toml` file:
28+
```toml
29+
[dependencies]
30+
fftpack = { git="https://github.com/certik/fftpack.git", branch="fftpack4.0" }
31+
```
32+
33+
## Links
34+
[netlib/dfftpack1.0(fftpack4.0)](http://www.netlib.org/fftpack/)

doc/dfftpack-doc/doc.double.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
This documents the changes done by HCP to make fftpack into dfftpack
2+
3+
(1) Renamed all files corresponding to subroutines in the API
4+
i.e. ones documented as callable by the luser. Names chosen to match
5+
the ones in libsunperf.
6+
7+
(2) Inserted IMPLICIT DOUBLE PRECISION (A-H,O-Z) after every
8+
subroutine statement. This makes everything that used to be a real
9+
into a double.
10+
11+
(3) Replaced floating constants with Double Prec. constants. All
12+
0. become 0.D0 etc and PI, SQRT(2) etc. expanded to dble prec.
13+
14+
(4) Replaced DIMENSION FOO(1) with DIMENSION FOO(*) where foo
15+
is an array argument of a subroutine. I only did this in the places
16+
where g77 notices it, so the compile looks cleaner.
17+
18+
(5) Replaced COMPLEX with DOUBLE COMPLEX. Now, this is not standard
19+
fortran 77, so the whole thing may fall apart if you have a VERY
20+
vanilla Fortran 77 compiler. On the other hand, the only place a
21+
complex is _declared_ as such is in the test program. If you don't have
22+
DOUBLE COMPLEX my guess is that the library will work, except for
23+
the routines ZFFTI, ZFFTB and ZFFTF.
24+
25+
(6) Updated the file doc

0 commit comments

Comments
 (0)