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

Copyright(c) 2009 2010 2011 Bryan O'Sullivan
LicenseBSD3
Maintainerbos@serpentine.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Statistics.Function

Contents

Description

Useful functions.

Synopsis

Scanning

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

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

Sorting

sort :: Vector Double -> Vector Double #

Sort a vector.

gsort :: (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.

Arithmetic

square :: Double -> Double #

Multiply a number by itself.

Vectors

unsafeModify :: MVector s Double -> Int -> (Double -> Double) -> ST s () #

Combinators

for :: Monad m => Int -> Int -> (Int -> m ()) -> m () #

Simple for loop. Counts from start to end-1.

rfor :: Monad m => Int -> Int -> (Int -> m ()) -> m () #

Simple reverse-for loop. Counts from start-1 to end (which must be less than start).