clash-prelude-0.2: CAES Language for Synchronous Hardware
CLaSH.Sized.Vector
data Vec where Source
Constructors
Instances
(<:) :: Vec n a -> a -> Vec (n + 1) a Source
vhead :: Vec (n + 1) a -> a Source
vtail :: Vec (n + 1) a -> Vec n a Source
vlast :: Vec (n + 1) a -> a Source
vinit :: Vec (n + 1) a -> Vec n a Source
(+>>) :: a -> Vec n a -> Vec n a Source
(<<+) :: Vec n a -> a -> Vec n a Source
(<++>) :: Vec n a -> Vec m a -> Vec (n + m) a Source
vconcat :: Vec n (Vec m a) -> Vec (n * m) a Source
vsplit :: SNat m -> Vec (m + n) a -> (Vec m a, Vec n a) Source
vsplitI :: KnownNat m => Vec (m + n) a -> (Vec m a, Vec n a) Source
vunconcat :: SNat n -> SNat m -> Vec (n * m) a -> Vec n (Vec m a) Source
vunconcatI :: (KnownNat n, KnownNat m) => Vec (n * m) a -> Vec n (Vec m a) Source
vmerge :: Vec n a -> Vec n a -> Vec (n + n) a Source
vreverse :: Vec n a -> Vec n a Source
vmap :: (a -> b) -> Vec n a -> Vec n b Source
vzipWith :: (a -> b -> c) -> Vec n a -> Vec n b -> Vec n c Source
vfoldr :: (a -> b -> b) -> b -> Vec n a -> b Source
vfoldl :: (b -> a -> b) -> b -> Vec n a -> b Source
vfoldr1 :: (a -> a -> a) -> Vec (n + 1) a -> a Source
vfoldl1 :: (a -> a -> a) -> Vec (n + 1) a -> a Source
vzip :: Vec n a -> Vec n b -> Vec n (a, b) Source
vunzip :: Vec n (a, b) -> (Vec n a, Vec n b) Source
(!) :: (KnownNat n, Integral i) => Vec n a -> i -> a Source
vreplace :: (KnownNat n, Integral i) => Vec n a -> i -> a -> Vec n a Source
vtake :: SNat m -> Vec (m + n) a -> Vec m a Source
vtakeI :: KnownNat m => Vec (m + n) a -> Vec m a Source
vdrop :: SNat m -> Vec (m + n) a -> Vec n a Source
vdropI :: KnownNat m => Vec (m + n) a -> Vec n a Source
vexact :: SNat m -> Vec (m + (n + 1)) a -> a Source
vselect :: ((f + (s * n)) + 1) <= i => SNat f -> SNat s -> SNat (n + 1) -> Vec i a -> Vec (n + 1) a Source
vselectI :: (((f + (s * n)) + 1) <= i, KnownNat (n + 1)) => SNat f -> SNat s -> Vec i a -> Vec (n + 1) a Source
vcopy :: SNat n -> a -> Vec n a Source
vcopyI :: KnownNat n => a -> Vec n a Source
viterate :: SNat n -> (a -> a) -> a -> Vec n a Source
viterateI :: KnownNat n => (a -> a) -> a -> Vec n a Source
vgenerate :: SNat n -> (a -> a) -> a -> Vec n a Source
vgenerateI :: KnownNat n => (a -> a) -> a -> Vec n a Source
toList :: Vec n a -> [a] Source
v :: Lift a => [a] -> ExpQ Source