sized-types-0.3.5.2: Sized types in Haskell.

Safe HaskellSafe
LanguageHaskell98

Data.Sized.Vector

Documentation

data Vector ix a Source #

Constructors

Vector (Array ix a) 

Instances

Bounds ix => Functor (Vector ix) Source # 

Methods

fmap :: (a -> b) -> Vector ix a -> Vector ix b #

(<$) :: a -> Vector ix b -> Vector ix a #

(Show a, Bounds ix) => Show (Vector (ix, ix) a) Source # 

Methods

showsPrec :: Int -> Vector (ix, ix) a -> ShowS #

show :: Vector (ix, ix) a -> String #

showList :: [Vector (ix, ix) a] -> ShowS #

(Show a, Bounds ix, Num ix) => Show (Vector ix a) Source # 

Methods

showsPrec :: Int -> Vector ix a -> ShowS #

show :: Vector ix a -> String #

showList :: [Vector ix a] -> ShowS #

vector :: Bounds ix => ix -> [a] -> Vector ix a Source #

class Ix ix => Bounds ix where Source #

Minimal complete definition

toBounds, fromBounds, range

Methods

toBounds :: ix -> (ix, ix) Source #

fromBounds :: (ix, ix) -> ix Source #

range :: (ix, ix) -> [ix] Source #

Instances

Bounds Int Source # 

Methods

toBounds :: Int -> (Int, Int) Source #

fromBounds :: (Int, Int) -> Int Source #

range :: (Int, Int) -> [Int] Source #

(Bounds a, Bounds b) => Bounds (a, b) Source # 

Methods

toBounds :: (a, b) -> ((a, b), (a, b)) Source #

fromBounds :: ((a, b), (a, b)) -> (a, b) Source #

range :: ((a, b), (a, b)) -> [(a, b)] Source #

(!) :: Bounds ix => Vector ix a -> ix -> a Source #

toList :: Bounds ix => Vector ix a -> [a] Source #

assocs :: Bounds ix => Vector ix a -> [(ix, a)] Source #

size :: Bounds ix => Vector ix a -> ix Source #

bounds :: Bounds ix => Vector ix a -> (ix, ix) Source #

indices :: Bounds ix => Vector ix a -> [ix] Source #

ixmap :: (Bounds i, Bounds j) => i -> (i -> j) -> Vector j a -> Vector i a Source #

transpose :: (Bounds x, Bounds y) => Vector (x, y) a -> Vector (y, x) a Source #

identity :: (Bounds ix, Num a) => ix -> Vector (ix, ix) a Source #

rows :: (Bounds x, Bounds y) => Vector (x, y) a -> Vector x (Vector y a) Source #

cols :: (Bounds x, Bounds y) => Vector (x, y) a -> Vector y (Vector x a) Source #

above :: (Bounds x, Bounds y, Num x, Num y) => Vector (x, y) a -> Vector (x, y) a -> Vector (x, y) a Source #

beside :: (Bounds x, Bounds y, Num x, Num y) => Vector (x, y) a -> Vector (x, y) a -> Vector (x, y) a Source #

show' :: (Show a, Bounds ix) => Vector (ix, ix) a -> String Source #

foo :: (Show a, Bounds ix2, Bounds ix1) => Vector (ix1, ix2) a -> [[String]] Source #

seeIn2D :: (Bounds ix, Num ix) => Vector ix a -> Vector (ix, ix) a Source #

showMatrix' :: Bounds ix => (ix, ix) -> [[String]] -> String Source #