Main libraries

lib/github.com/diku-dk/containers/array/reduction_tree

A collection of common binary reduction tree.

lib/github.com/diku-dk/containers/array/transparent_reduction_tree

An implementation of binary reduction tree.

lib/github.com/diku-dk/containers/core/hash

Internal library used for universal hashing.

lib/github.com/diku-dk/containers/core/hashkey

A module type for keys that can be hashed.

lib/github.com/diku-dk/containers/core/key

Definitions of modules that implement both the hashkey and ordkey module types for a variety of types.

lib/github.com/diku-dk/containers/core/opt

A module for working with optional values.

lib/github.com/diku-dk/containers/core/slice

Types representing slices of arrays.

lib/github.com/diku-dk/containers/map/eytzinger

Eytzinger tree-based key-value maps.

lib/github.com/diku-dk/containers/map/map

Abstract interface for working with key-value mappings.

lib/github.com/diku-dk/containers/set/hashset

Static hashsets with an unlifted type.

lib/github.com/diku-dk/containers/set/set

Abstract interface for working with sets.

lib/github.com/diku-dk/containers/set/setops

Set-like operations on arrays of values interpreted as sets

lib/github.com/diku-dk/containers/set/unionfind

Module containing different implementations of union-find.

lib/github.com/diku-dk/containers/stream/count_min_sketch

Implementation of the Count-Min Sketch streaming algorithm.

lib/github.com/diku-dk/containers/stream/hyperloglog

Implementations of HyperLogLog and HyperLogLog++

Supporting libraries

/prelude/ad

Definitions related to automatic differentiation.

/prelude/array

Utility functions for arrays.

/prelude/functional

Simple functional combinators.

/prelude/math

Basic mathematical modules and functions.

/prelude/prelude

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

/prelude/soacs

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

/prelude/zip

Transforming arrays of tuples into tuples of arrays and back again.

lib/github.com/diku-dk/cpprandom/random

Random number generation inspired by <random> in C++.

lib/github.com/diku-dk/segmented/segmented

Irregular segmented operations, like scans and reductions.

lib/github.com/diku-dk/sorts/merge_sort

Work-efficient parallel mergesort

lib/github.com/diku-dk/sorts/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.