Module types for Fast Fourier Transforms (FFTs), as well as transformations for automatically performing higher-dimensional FFTs. For specific FFT implementations, see e.g.
A simple FFT module based on work by David P.H. Jørgensen and Kasper Abildtrup Hansen. Uses a Stockham radix-2 algorithm.
Utility functions for arrays.
Simple functional combinators.
Basic mathematical modules and functions.
The default prelude that is implicitly available in all Futhark files.
Various Second-Order Array Combinators that are operationally parallel in a way that can be exploited by the compiler.
Transforming arrays of tuples into tuples of arrays and back again. These are generally very cheap operations, as the internal compiler representation is always tuples of arrays.
Complex numbers parameterised over the representation of their real parts.