Skip to content

Commit

Permalink
Merge branch 'main' into add-rfft-example
Browse files Browse the repository at this point in the history
  • Loading branch information
rouson committed Mar 17, 2024
2 parents 797e8e6 + 02e7e57 commit 7fe21d1
Show file tree
Hide file tree
Showing 65 changed files with 78 additions and 67 deletions.
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,19 @@ meson configure build --prefix=/path/to/install
meson install -C build
```

## Links
- [netlib/dfftpack1.0(fftpack4.0)](http://www.netlib.org/fftpack/)
- [Documents of fft routines in GNU/gsl based on `netlib/fftpack`](https://www.gnu.org/software/gsl/doc/html/fft.html#)
- [Documents of scipy.fftpack](https://docs.scipy.org/doc/scipy/reference/fftpack.html)
- [NACR/FFTPACK 5.1](https://www2.cisl.ucar.edu/resources/legacy/fft5)
## Documentation
See the our [GitHub Pages site] for documentation generated by [FORD] from the fortran-lang/fftpack [project file].

## References
Although fortran-lang is _not_ interface-compatible with any of the following libraries, each contains documentation that might be useful for different reasons:
- **Recommended reference:** The [scipy.fftpack] documentation contains succinct description of the storage sequences for function results that match those in fortran-lang/fftpack, e.g., the location of the real and imaginary parts of the `rfft` function result.
- **Theory reference:** The [documentation for the GNU/gsl FFT routines], which are also based on netlib/fftpack, provides some useful definitions of FFT terminology and represenations of the analytical forms of the Discrete Fourier Transform nicely formatted by [LaTeX].
- **Historical reference:** The [netlib/fftpack] library on which fortran-lang/fftpack is useful for understanding several fortran-lang/fftpack design choices, e.g., the procedure dependencies.

[FORD]: https://github.com/Fortran-FOSS-Programmers/ford
[project file]: ./API-doc-FORD-file.md
[scipy.fftpack]: https://docs.scipy.org/doc/scipy/reference/fftpack.html
[documentation for the GNU/gsl FFT routines]: https://www.gnu.org/software/gsl/doc/html/fft.html#
[netlib/fftpack]: http://www.netlib.org/fftpack/
[LaTeX]: https://www.latex-project.org
[GitHub Pages site]: https://fortran-lang.github.io/fftpack/
2 changes: 1 addition & 1 deletion example/bench02_zfft.f90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
program main
program bench2
use fftpack, only: zffti, zfftf, zfftb, fft, ifft
use fftpack_kind, only: rk

Expand Down
2 changes: 1 addition & 1 deletion example/bench03_dfft.f90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
program main
program bench3
use fftpack, only: dffti, dfftf, dfftb, rfft, irfft
use fftpack_kind, only: rk

Expand Down
1 change: 0 additions & 1 deletion fpm.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

name = "fftpack"
description = "A package of fortran subprograms for the fast fourier transform of periodic and other symmetric sequences"
homepage = "http://www.netlib.org/fftpack/"
Expand Down
119 changes: 60 additions & 59 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,66 +1,67 @@
# Locate the source directory
# Locate the source directories
set(dir ${CMAKE_CURRENT_SOURCE_DIR})
set(subdir "${dir}/fftpack")

# The source files
set(FFTPACK_SOURCES
${dir}/cfftb1.f90
${dir}/cfftf1.f90
${dir}/cffti1.f90
${dir}/cosqb1.f90
${dir}/cosqf1.f90
${dir}/dcosqb.f90
${dir}/dcosqf.f90
${dir}/dcosqi.f90
${dir}/dcost.f90
${dir}/dcosti.f90
${dir}/dfftb.f90
${dir}/dfftf.f90
${dir}/dffti.f90
${dir}/dsinqb.f90
${dir}/dsinqf.f90
${dir}/dsinqi.f90
${dir}/dsint.f90
${dir}/dsinti.f90
${dir}/dzfftb.f90
${dir}/dzfftf.f90
${dir}/dzffti.f90
${dir}/ezfft1.f90
${subdir}/cfftb1.f90
${subdir}/cfftf1.f90
${subdir}/cffti1.f90
${subdir}/cosqb1.f90
${subdir}/cosqf1.f90
${subdir}/dcosqb.f90
${subdir}/dcosqf.f90
${subdir}/dcosqi.f90
${subdir}/dcost.f90
${subdir}/dcosti.f90
${subdir}/dfftb.f90
${subdir}/dfftf.f90
${subdir}/dffti.f90
${subdir}/dsinqb.f90
${subdir}/dsinqf.f90
${subdir}/dsinqi.f90
${subdir}/dsint.f90
${subdir}/dsinti.f90
${subdir}/dzfftb.f90
${subdir}/dzfftf.f90
${subdir}/dzffti.f90
${subdir}/ezfft1.f90
${dir}/fftpack.f90
${dir}/fftpack_dct.f90
${dir}/fftpack_fft.f90
${dir}/fftpack_fftshift.f90
${dir}/fftpack_ifft.f90
${dir}/fftpack_ifftshift.f90
${dir}/fftpack_irfft.f90
${dir}/fftpack_rfft.f90
${dir}/fftpack_utils.f90
${dir}/passb.f90
${dir}/passb2.f90
${dir}/passb3.f90
${dir}/passb4.f90
${dir}/passb5.f90
${dir}/passf.f90
${dir}/passf2.f90
${dir}/passf3.f90
${dir}/passf4.f90
${dir}/passf5.f90
${dir}/radb2.f90
${dir}/radb3.f90
${dir}/radb4.f90
${dir}/radb5.f90
${dir}/radbg.f90
${dir}/radf2.f90
${dir}/radf3.f90
${dir}/radf4.f90
${dir}/radf5.f90
${dir}/radfg.f90
${dir}/rfftb1.f90
${dir}/rfftf1.f90
${dir}/rffti1.f90
${dir}/rk.f90
${dir}/sint1.f90
${dir}/zfftb.f90
${dir}/zfftf.f90
${dir}/zffti.f90
${subdir}/fftpack_dct.f90
${subdir}/fftpack_fft.f90
${subdir}/fftpack_fftshift.f90
${subdir}/fftpack_ifft.f90
${subdir}/fftpack_ifftshift.f90
${subdir}/fftpack_irfft.f90
${subdir}/fftpack_rfft.f90
${subdir}/fftpack_utils.f90
${subdir}/passb.f90
${subdir}/passb2.f90
${subdir}/passb3.f90
${subdir}/passb4.f90
${subdir}/passb5.f90
${subdir}/passf.f90
${subdir}/passf2.f90
${subdir}/passf3.f90
${subdir}/passf4.f90
${subdir}/passf5.f90
${subdir}/radb2.f90
${subdir}/radb3.f90
${subdir}/radb4.f90
${subdir}/radb5.f90
${subdir}/radbg.f90
${subdir}/radf2.f90
${subdir}/radf3.f90
${subdir}/radf4.f90
${subdir}/radf5.f90
${subdir}/radfg.f90
${subdir}/rfftb1.f90
${subdir}/rfftf1.f90
${subdir}/rffti1.f90
${subdir}/rk.f90
${subdir}/sint1.f90
${subdir}/zfftb.f90
${subdir}/zfftf.f90
${subdir}/zffti.f90
)
set(FFTPACK_SOURCES ${FFTPACK_SOURCES} PARENT_SCOPE)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 7fe21d1

Please sign in to comment.