Skip to content

fortran-lang/fftpack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d956809 · Mar 7, 2025
Mar 7, 2025
Jan 3, 2023
Nov 15, 2023
Mar 6, 2025
Mar 18, 2024
Aug 11, 2024
Jan 3, 2023
Aug 23, 2023
Mar 17, 2024
Nov 15, 2023
Mar 6, 2025
Nov 15, 2023
Mar 17, 2024
Jan 3, 2023
Feb 11, 2023
Mar 17, 2024
Mar 17, 2024
Nov 15, 2023

Repository files navigation

FFTPACK

FFTPACK

A package of Fortran subprograms for the fast Fourier transform of periodic and other symmetric sequences.

Actions Status Actions Status CMake

Getting started

Get the code

git clone https://github.com/fortran-lang/fftpack.git
cd fftpack

Build with fortran-lang/fpm

Fortran Package Manager (fpm) is a package manager and build system for Fortran.
You can build using provided fpm.toml:

fpm build
fpm test --list
fpm test <test_name, see `fpm.toml` or list>

To use fftpack within your fpm project, add the following to your fpm.toml file:

[dependencies]
fftpack = { git="https://github.com/fortran-lang/fftpack.git" }

Build with CMake

This library can also be built using CMake. For instructions see Running CMake. CMake version 3.24 or higher is required.

Build with Meson

This library can also be built using Meson. The following dependencies are required:

  • a Fortran compiler
  • meson version 0.57 or newer
  • a build-system backend, i.e. ninja version 1.7 or newer

Setup a build with

meson setup build

You can select the Fortran compiler by the FC environment variable. To compile and run the projects testsuite use

meson test -C build --print-errorlogs

If the testsuite passes you can install with

meson configure build --prefix=/path/to/install
meson install -C build

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.