vector-static-0.3.0.1: Statically checked sizes on Data.Vector

Data.Vector.Storable.Static

Documentation

newtype Vec n a Source

Constructors

Vec 

Fields

unVec :: Vec n Vector a
 

length :: Reify n => Vec n a -> Nat nSource

null :: forall n v a. Reify n => Vec n a -> BoolSource

singleton :: Storable a => a -> Vec (S Z) aSource

cons :: Storable a => a -> Vec n a -> Vec (S n) aSource

snoc :: Storable a => Vec n a -> a -> Vec (S n) aSource

replicate :: (Storable a, Reify n) => a -> Vec n aSource

generate :: (Reify n, Storable a) => (Fin n -> a) -> Vec n aSource

(++) :: Storable a => Vec m a -> Vec n a -> Vec (m :+: n) aSource

copy :: Storable a => Vec n a -> Vec n aSource

(!) :: Storable a => Vec n a -> Fin n -> aSource

head :: Storable a => Vec (S n) a -> aSource

last :: Storable a => Vec (S n) a -> aSource

indexM :: (Storable a, Monad m) => Vec n a -> Fin n -> m aSource

headM :: (Storable a, Monad m) => Vec (S n) a -> m aSource

lastM :: (Storable a, Monad m) => Vec (S n) a -> m aSource

slice :: (Reify k, Storable a) => Fin n -> Vec (n :+: k) a -> Vec k aSource

init :: Storable a => Vec (S n) a -> Vec n aSource

tail :: Storable a => Vec (S n) a -> Vec n aSource

backpermute :: Storable a => Vec m a -> Vec n (Fin m) -> Vec n aSource

reverse :: Storable a => Vec n a -> Vec n aSource

map :: (Storable a, Storable b) => (a -> b) -> Vec n a -> Vec n bSource

imap :: (Storable a, Storable b) => (Fin n -> a -> b) -> Vec n a -> Vec n bSource

concatMap :: (Storable a, Storable b) => (a -> Vec n b) -> Vec m a -> Vec (m :*: n) bSource

zipWith :: (Storable a, Storable b, Storable c) => (a -> b -> c) -> Vec n a -> Vec n b -> Vec n cSource

zipWith3 :: (Storable a, Storable b, Storable c, Storable d) => (a -> b -> c -> d) -> Vec n a -> Vec n b -> Vec n c -> Vec n dSource

zipWith4 :: (Storable a, Storable b, Storable c, Storable d, Storable e) => (a -> b -> c -> d -> e) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n eSource

zipWith5 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => (a -> b -> c -> d -> e -> f) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n fSource

zipWith6 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => (a -> b -> c -> d -> e -> f -> g) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n gSource

izipWith :: (Storable a, Storable b, Storable c) => (Fin n -> a -> b -> c) -> Vec n a -> Vec n b -> Vec n cSource

izipWith3 :: (Storable a, Storable b, Storable c, Storable d) => (Fin n -> a -> b -> c -> d) -> Vec n a -> Vec n b -> Vec n c -> Vec n dSource

izipWith4 :: (Storable a, Storable b, Storable c, Storable d, Storable e) => (Fin n -> a -> b -> c -> d -> e) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n eSource

izipWith5 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f) => (Fin n -> a -> b -> c -> d -> e -> f) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n fSource

izipWith6 :: (Storable a, Storable b, Storable c, Storable d, Storable e, Storable f, Storable g) => (Fin n -> a -> b -> c -> d -> e -> f -> g) -> Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n gSource

elem :: (Storable a, Eq a) => a -> Vec n a -> BoolSource

notElem :: (Storable a, Eq a) => a -> Vec n a -> BoolSource

find :: (Storable a, Eq a) => (a -> Bool) -> Vec n a -> Maybe aSource

findIndex :: Storable a => (a -> Bool) -> Vec n a -> Maybe (Fin n)Source

elemIndex :: (Storable a, Eq a) => a -> Vec n a -> Maybe (Fin n)Source

foldl :: Storable b => (a -> b -> a) -> a -> Vec n b -> aSource

foldl1 :: Storable a => (a -> a -> a) -> Vec (S n) a -> aSource

foldl' :: Storable b => (a -> b -> a) -> a -> Vec n b -> aSource

foldl1' :: Storable a => (a -> a -> a) -> Vec (S n) a -> aSource

foldr :: Storable a => (a -> b -> b) -> b -> Vec n a -> bSource

foldr1 :: Storable a => (a -> a -> a) -> Vec (S n) a -> aSource

foldr' :: Storable a => (a -> b -> b) -> b -> Vec n a -> bSource

foldr1' :: Storable a => (a -> a -> a) -> Vec (S n) a -> aSource

ifoldl :: Storable b => (a -> Fin n -> b -> a) -> a -> Vec n b -> aSource

ifoldl' :: Storable b => (a -> Fin n -> b -> a) -> a -> Vec n b -> aSource

ifoldr :: Storable a => (Fin n -> a -> b -> b) -> b -> Vec n a -> bSource

ifoldr' :: Storable a => (Fin n -> a -> b -> b) -> b -> Vec n a -> bSource

all :: Storable a => (a -> Bool) -> Vec n a -> BoolSource

any :: Storable a => (a -> Bool) -> Vec n a -> BoolSource

sum :: (Storable a, Num a) => Vec n a -> aSource

product :: (Storable a, Num a) => Vec n a -> aSource

minimum :: (Storable a, Ord a) => Vec (S n) a -> aSource

minimumBy :: Storable a => (a -> a -> Ordering) -> Vec (S n) a -> aSource

minIndex :: (Storable a, Ord a) => Vec (S n) a -> Fin (S n)Source

minIndexBy :: Storable a => (a -> a -> Ordering) -> Vec (S n) a -> Fin (S n)Source

maximum :: (Storable a, Ord a) => Vec (S n) a -> aSource

maximumBy :: Storable a => (a -> a -> Ordering) -> Vec (S n) a -> aSource

maxIndex :: (Storable a, Ord a) => Vec (S n) a -> Fin (S n)Source

maxIndexBy :: Storable a => (a -> a -> Ordering) -> Vec (S n) a -> Fin (S n)Source

unfoldr :: Storable a => (b -> Maybe (a, b)) -> b -> (forall n. Vec n a -> r) -> rSource

enumFromN :: forall a n. (Storable a, Num a, Reify n) => a -> Vec n aSource

enumFromStepN :: forall a n. (Storable a, Num a, Reify n) => a -> a -> Vec n aSource

toList :: Storable a => Vec n a -> [a]Source

fromList :: Storable a => [a] -> (forall n. Vec n a -> r) -> rSource

stream :: Storable a => Vec n a -> Stream aSource

unstream :: Storable a => Stream a -> (forall n. Vec n a -> r) -> rSource

streamR :: Storable a => Vec n a -> Stream aSource

unstreamR :: Storable a => Stream a -> (forall n. Vec n a -> r) -> rSource

new :: Storable a => New a -> (forall n. Vec n a -> r) -> rSource