yarr-1.3.2: Yet another array library

Safe HaskellNone

Data.Yarr.Utils.FixedVector

Contents

Synopsis

Fixed Vector

type family Fn n a b :: *

Type family for n-ary functions.

arity :: Arity n => n -> Int

Arity of function.

Missed utility

zipWith3 :: (Vector v a, Vector v b, Vector v c, Vector v d, Vector v (b, c)) => (a -> b -> c -> d) -> v a -> v b -> v c -> v dSource

zipWithM_ :: (Vector v a, Vector v b, Vector v c, Monad m, Vector v (m c)) => (a -> b -> m c) -> v a -> v b -> m ()Source

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

all :: Vector v a => (a -> Bool) -> v a -> BoolSource

any :: Vector v a => (a -> Bool) -> v a -> BoolSource

zero :: (Vector v a, Num a) => v aSource

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

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

Aliases and shortcuts

Arity

type N7 = S N6Source

type N8 = S N7Source

Arity "instances" -- aliases to undefined.

VecList makers

vl_2 :: a -> a -> VecList N2 aSource

vl_3 :: a -> a -> a -> VecList N3 aSource

vl_4 :: a -> a -> a -> a -> VecList N4 aSource

VecTuple

data family VecTuple n e Source

InlinableArity

class Arity ar => InlinableArity ar whereSource

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

Methods

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

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