Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data BShape a
- type family BShapeDims (s :: BShape k) = (ks :: [k]) | ks -> s where ...
- bShapeDims :: BShape a -> [a]
- data BShapeP :: (k -> Type) -> BShape k -> Type where
- bShapeProd :: BShapeP f s -> Prod f (BShapeDims s)
- pbvProd :: BShapeP f (BV a) -> Prod f '[a]
- pbmProd :: BShapeP f (BM a b) -> Prod f '[a, b]
- class NatKind k => BLAS b where
- data family Sing k (a :: k) :: *
- type SBShape = (Sing :: BShape a -> Type)
- elemsB :: (Applicative f, BLAS b) => (ElemB b -> f (ElemB b)) -> b s -> f (b s)
- zipB :: BLAS b => Sing s -> (ElemB b -> ElemB b -> ElemB b) -> b s -> b s -> b s
- bgen :: forall k b s. BLAS b => Sing s -> (BShapeP (IndexN k) s -> ElemB b) -> b s
- bgenRows :: (BLAS b, SingI n) => (IndexN k n -> b (BV m)) -> b (BM n m)
Documentation
type family BShapeDims (s :: BShape k) = (ks :: [k]) | ks -> s where ... Source #
BShapeDims (BV x) = '[x] | |
BShapeDims (BM x y) = '[x, y] |
bShapeDims :: BShape a -> [a] Source #
bShapeProd :: BShapeP f s -> Prod f (BShapeDims s) Source #
class NatKind k => BLAS b where Source #
liftB, axpy, dot, ger, gemv, gemm, scaleB, addB, indexB, indexRowB, transpB, iRowsB, iElemsB, bgenA, bgenRowsA, eye, traceB, diagB, getDiagB, sumB
liftB :: Sing s -> (Vec n (ElemB b) -> ElemB b) -> Vec n (b s) -> b s Source #
axpy :: ElemB b -> b (BV n) -> Maybe (b (BV n)) -> b (BV n) Source #
dot :: b (BV n) -> b (BV n) -> ElemB b Source #
ger :: b (BV n) -> b (BV m) -> b (BM n m) Source #
gemv :: ElemB b -> b (BM n m) -> b (BV m) -> Maybe (ElemB b, b (BV n)) -> b (BV n) Source #
gemm :: ElemB b -> b (BM n o) -> b (BM o m) -> Maybe (ElemB b, b (BM n m)) -> b (BM n m) Source #
scaleB :: ElemB b -> b s -> b s Source #
addB :: b s -> b s -> b s Source #
indexB :: BShapeP (IndexN k) s -> b s -> ElemB b Source #
indexRowB :: IndexN k n -> b (BM n m) -> b (BV m) Source #
transpB :: b (BM n m) -> b (BM m n) Source #
iRowsB :: Applicative f => (IndexN k n -> b (BV m) -> f (b (BV o))) -> b (BM n m) -> f (b (BM n o)) Source #
iElemsB :: Applicative f => (BShapeP (IndexN k) s -> ElemB b -> f (ElemB b)) -> b s -> f (b s) Source #
bgenA :: Applicative f => Sing s -> (BShapeP (IndexN k) s -> f (ElemB b)) -> f (b s) Source #
bgenRowsA :: (Applicative f, SingI n) => (IndexN k n -> f (b (BV m))) -> f (b (BM n m)) Source #
eye :: Sing n -> b (BM n n) Source #
traceB :: b (BM n n) -> ElemB b Source #
diagB :: b (BV n) -> b (BM n n) Source #
data family Sing k (a :: k) :: * #
The singleton kind-indexed data family.
data Sing Bool | |
data Sing Ordering | |
data Sing Nat | |
data Sing Symbol | |
data Sing () | |
data Sing N # | |
type WitnessC ØC (SingI k a) (Sing k a) # | |
data Sing [a0] | |
data Sing (Maybe a0) | |
data Sing (BShape a0) # | |
data Sing (NonEmpty a0) | |
data Sing (Either a0 b0) | |
data Sing (a0, b0) | |
data Sing ((~>) k1 k2) | |
data Sing (a0, b0, c0) | |
data Sing (a0, b0, c0, d0) | |
data Sing (a0, b0, c0, d0, e0) | |
data Sing (a0, b0, c0, d0, e0, f0) | |
data Sing (a0, b0, c0, d0, e0, f0, g0) | |