yarr-1.4.0.2: Yet another array library

Safe HaskellNone
LanguageHaskell98

Data.Yarr.Utils.FixedVector

Contents

Synopsis

Fixed Vector

arity :: Arity n => n -> Int #

Arity of function.

Missed utility

apply :: (Vector v a, Vector v (a -> b), Vector v b) => v (a -> b) -> v a -> v b Source #

zero :: (Vector v a, Num a) => v a Source #

iifoldl :: Vector v a => ix -> (ix -> ix) -> (b -> ix -> a -> b) -> b -> v a -> b Source #

iifoldM :: (Vector v a, Monad m) => ix -> (ix -> ix) -> (b -> ix -> a -> m b) -> b -> v a -> m b Source #

Aliases and shortcuts

Arity

type N7 = S N6 Source #

type N8 = S N7 Source #

Arity "instances" -- aliases to undefined.

VecList makers

vl_1 :: a -> VecList N1 a Source #

vl_2 :: a -> a -> VecList N2 a Source #

vl_3 :: a -> a -> a -> VecList N3 a Source #

vl_4 :: a -> a -> a -> a -> VecList N4 a Source #

VecTuple

data family VecTuple n e Source #

Instances

data VecTuple N2 Source # 
data VecTuple N2 = VT_2 {}
data VecTuple N3 Source # 
data VecTuple N3 = VT_3 {}
data VecTuple N4 Source # 
data VecTuple N4 = VT_4 {}
data VecTuple N5 Source # 
data VecTuple N5 = VT_5 {}
data VecTuple N6 Source # 
data VecTuple N6 = VT_6 {}
data VecTuple N8 Source # 
data VecTuple N8 = VT_8 {}
data VecTuple N7 Source # 
data VecTuple N7 = VT_7 {}
type Dim (VecTuple N2) # 
type Dim (VecTuple N2) = N2
type Dim (VecTuple N3) # 
type Dim (VecTuple N3) = N3
type Dim (VecTuple N4) # 
type Dim (VecTuple N4) = N4
type Dim (VecTuple N5) # 
type Dim (VecTuple N5) = N5
type Dim (VecTuple N6) # 
type Dim (VecTuple N6) = N6
type Dim (VecTuple N8) # 
type Dim (VecTuple N8) = N8
type Dim (VecTuple N7) # 
type Dim (VecTuple N7) = N7

InlinableArity

class Arity ar => InlinableArity ar where Source #

Workaround for slice-wise currined filling functions inlining issues. See comment to CVL for details.

Minimal complete definition

inlinableZipWith, inlinableMap

Methods

inlinableZipWith :: (Vector v a, Vector v b, Vector v c, Dim v ~ ar) => (a -> b -> c) -> v a -> v b -> v c Source #

inlinableMap :: (Vector v a, Vector v b, Dim v ~ ar) => (a -> b) -> v a -> v b Source #