## Main libraries

- futlib/array
Utility functions for arrays.

- futlib/colour
Colour manipulation library.

- futlib/complex
Complex numbers parameterised over the representation of their real parts.

- futlib/date
A simple date library. Inspired by code from LexiFi.

- futlib/fft
A simple FFT module based on work by David P.H. Jørgensen and Kasper Abildtrup Hansen.

- futlib/functional
Simple functional combinators.

- futlib/linalg
Small library of linear algebra-ish operations.

- futlib/lss
Longest satisfying segments.

- futlib/math
Basic mathematical modules and functions.

- futlib/merge_sort
Bitonic merge sort.

- futlib/monoid
A module type describing a monoid.

- futlib/mss
Maximum segment sums.

- futlib/prelude
The default prelude that is implicitly available in all Futhark files.

- futlib/radix_sort
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.- futlib/random
Random number generation inspired by

`<random>`

in C++.- futlib/segmented
Irregular segmented operations, like scans and reductions.

- futlib/soacs
Various Second-Order Array Combinators that are operationally parallel in a way that can be exploited by the compiler.

- futlib/sobol
Quasi-random Sobol number generation.

- futlib/vector
A module type for vectors of any (static) dimension.

- futlib/zip
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.