statistics-0.10.2.0: A library of statistical types, data, and functions

Portability | portable
Stability | experimental
Maintainer | bos@serpentine.com
Safe Haskell | None

Statistics.Function

Contents

- Scanning
- Sorting
- Indexing
- Bit twiddling
- Comparison

Description

Useful functions.

Synopsis

- minMax :: Vector v Double => v Double -> (Double, Double)
- sort :: (Ord e, Vector v e) => v e -> v e
- sortBy :: Vector v e => Comparison e -> v e -> v e
- partialSort :: (Vector v e, Ord e) => Int -> v e -> v e
- indexed :: (Vector v e, Vector v Int, Vector v (Int, e)) => v e -> v (Int, e)
- indices :: (Vector v a, Vector v Int) => v a -> v Int
- nextHighestPowerOfTwo :: Int -> Int
- within :: Int -> Double -> Double -> Bool

# Scanning

minMax :: Vector v Double => v Double -> (Double, Double)

Compute the minimum and maximum of a vector in one pass.

# Sorting

sort :: (Ord e, Vector v e) => v e -> v e

Sort a vector.

sortBy :: Vector v e => Comparison e -> v e -> v e

Sort a vector using a custom ordering.

partialSort

Arguments

:: (Vector v e, Ord e) |
=> Int | The number k of least elements.
-> v e |
-> v e |

Partially sort a vector, such that the least k elements will be at the front.

# Indexing

indexed :: (Vector v e, Vector v Int, Vector v (Int, e)) => v e -> v (Int, e)

Zip a vector with its indices.

indices :: (Vector v a, Vector v Int) => v a -> v Int

Return the indices of a vector.

# Bit twiddling

nextHighestPowerOfTwo :: Int -> Int

Efficiently compute the next highest power of two for a non-negative integer. If the given value is already a power of two, it is returned unchanged. If negative, zero is returned.

# Comparison

within

Arguments

:: Int | Number of ULPs of accuracy desired.
-> Double |
-> Double |
-> Bool |

Compare two `Double` values for approximate equality, using Dawson's method.

The required accuracy is specified in ULPs (units of least precision). If the two numbers differ by the given number of ULPs or less, this function returns `True`.