repa-series-1.0.0.1: Series Expressionss API

Safe HaskellNone

Data.Array.Repa.Series.Series

Synopsis

Documentation

data Series k a Source

A Series is an abstract source of element data and is consumed by series processes. The elements of a series must be consumed sequentially, so they don't support random access indexing.

The rate parameter k represents the abstract length of the series.

Constructors

Series 

Fields

seriesLength :: Int#
 
seriesVector :: !(Vector a)
 

index :: Unbox a => Series k a -> Int# -> aSource

Index into a series.

length :: Series k a -> Int#Source

Take the length of a series.

toVector :: Unbox a => Series k a -> Vector aSource

Convert a series to a vector, discarding the rate information.

runSeriesSource

Arguments

:: Unbox a 
=> Vector a 
-> (forall k. Series k a -> b)

worker function

-> b 

Evaluate a series expression, feeding it an unboxed vector.

The rate variable k represents the length of the series.

runSeries2Source

Arguments

:: (Unbox a, Unbox b) 
=> Vector a 
-> Vector b 
-> (forall k. Series k a -> Series k b -> c)

worker function

-> Maybe c 

Evaluate a series expression, feeding it two unboxed vectors of the same length.

runSeries3Source

Arguments

:: (Unbox a, Unbox b, Unbox c) 
=> Vector a 
-> Vector b 
-> Vector c 
-> (forall k. Series k a -> Series k b -> Series k c -> d)

worker function

-> Maybe d 

Three!

runSeries4Source

Arguments

:: (Unbox a, Unbox b, Unbox c, Unbox d) 
=> Vector a 
-> Vector b 
-> Vector c 
-> Vector d 
-> (forall k. Series k a -> Series k b -> Series k c -> Series k d -> e)

worker function

-> Maybe e 

Four!