Utility functions for arrays.
Colour manipulation library.
Complex numbers parameterised over the representation of their real parts.
A simple date library. Inspired by code from LexiFi.
A simple FFT module based on work by David P.H. Jørgensen and Kasper Abildtrup Hansen.
Simple functional combinators.
Small library of linear algebra-ish operations.
Longest satisfying segments.
Basic mathematical modules and functions.
Bitonic merge sort.
A module type describing a monoid.
Maximum segment sums.
The default prelude that is implicitly available in all Futhark files.
A non-comparison-based sort that sorts an array in O(k n) work and O(k log(n)) span, where k is the number of bits in each element.
Random number generation inspired by
Irregular segmented operations, like scans and reductions.
Various Second-Order Array Combinators that are operationally parallel in a way that can be exploited by the compiler.
Quasi-random Sobol number generation.
A module type for vectors of any (static) dimension.
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.