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

Data.Vector.Unboxed.Static

Documentation

newtype Vec n a Source

Constructors

Vec 

Fields

unVec :: Vec n Vector a
 

Instances

(Unbox a, Reify n) => Vector Vector (Vec n a) 
(Reify n, Unbox a) => MVector MVector (Vec n a) 
(Reify n, Bounded a, Unbox a) => Bounded (Vec n a) 
(Eq a, Unbox a) => Eq (Vec n a) 
(Reify n, Floating a, Unbox a) => Floating (Vec n a) 
(Reify n, Fractional a, Unbox a) => Fractional (Vec n a) 
(Reify n, Num a, Unbox a) => Num (Vec n a) 
(Ord a, Unbox a) => Ord (Vec n a) 
(Show a, Unbox a) => Show (Vec n a) 
(Reify n, Monoid a, Unbox a) => Monoid (Vec n a) 
(Unbox a, Reify n) => Unbox (Vec n a) 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

zipWith5 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox 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 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f, Unbox 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 :: (Unbox a, Unbox b, Unbox c) => (Fin n -> a -> b -> c) -> Vec n a -> Vec n b -> Vec n cSource

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

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

izipWith5 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox 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 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f, Unbox 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

zip :: (Unbox a, Unbox b) => Vec n a -> Vec n b -> Vec n (a, b)Source

zip3 :: (Unbox a, Unbox b, Unbox c) => Vec n a -> Vec n b -> Vec n c -> Vec n (a, b, c)Source

zip4 :: (Unbox a, Unbox b, Unbox c, Unbox d) => Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n (a, b, c, d)Source

zip5 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n (a, b, c, d, e)Source

zip6 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Vec n a -> Vec n b -> Vec n c -> Vec n d -> Vec n e -> Vec n f -> Vec n (a, b, c, d, e, f)Source

unzip :: (Unbox a, Unbox b) => Vec n (a, b) -> (Vec n a, Vec n b)Source

unzip3 :: (Unbox a, Unbox b, Unbox c) => Vec n (a, b, c) -> (Vec n a, Vec n b, Vec n c)Source

unzip4 :: (Unbox a, Unbox b, Unbox c, Unbox d) => Vec n (a, b, c, d) -> (Vec n a, Vec n b, Vec n c, Vec n d)Source

unzip5 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Vec n (a, b, c, d, e) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e)Source

unzip6 :: (Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Vec n (a, b, c, d, e, f) -> (Vec n a, Vec n b, Vec n c, Vec n d, Vec n e, Vec n f)Source

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

allFin :: Reify n => Vec n (Fin n)Source