Copyright | (c) Alexey Kuleshevich 2018 |
---|---|
License | BSD3 |
Maintainer | Alexey Kuleshevich <lehins@yandex.ru> |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
Delayed representation.
Show D Source # | |
(Index ix, Index (Lower ix), (~) * (Elt D ix e) (Array D (Lower ix) e)) => Slice D ix e Source # | |
((~) * (Elt D ix e) (Array D (Lower ix) e), Index ix) => InnerSlice D ix e Source # | |
((~) * (Elt D ix e) (Array D (Lower ix) e), Index ix) => OuterSlice D ix e Source # | |
Index ix => Load D ix e Source # | |
Index ix => Source D ix e Source # | |
Index ix => Size D ix e Source # | |
Index ix => Construct D ix e Source # | |
Functor (Array D ix) Source # | |
Index ix => Applicative (Array D ix) Source # | |
Index ix => Foldable (Array D ix) Source # | Row-major sequential folding over a Delayed array. |
(Eq e, Index ix) => Eq (Array D ix e) Source # | |
(Index ix, Floating e) => Floating (Array D ix e) Source # | |
(Index ix, Fractional e) => Fractional (Array D ix e) Source # | |
(Index ix, Num e) => Num (Array D ix e) Source # | |
(Ord e, Index ix) => Ord (Array D ix e) Source # | |
data Array D Source # | |
type EltRepr D ix Source # | |
delay :: Source r ix e => Array r ix e -> Array D ix e Source #
O(1) Conversion from a source array to D
representation.
Delayed array that will be loaded in an interleaved fasion during parallel computation.
toInterleaved :: Source r ix e => Array r ix e -> Array DI ix e Source #
Convert a source array into an array that, when computed, will have its elemets evaluated out of order (interleaved amoungs cores), hence making unbalanced computation better parallelizable.
Delayed Windowed Array representation.
(Index ix, Load DW (Lower ix) e) => Load DW ix e Source # | |
Load DW Ix2T e Source # | |
Load DW Ix2 e Source # | |
Load DW Ix1 e Source # | |
Index ix => Size DW ix e Source # | Any resize or extract on Windowed Array will hurt the performance. |
Index ix => Construct DW ix e Source # | |
Functor (Array DW ix) Source # | |
data Array DW Source # | |
type EltRepr DW ix Source # | |
:: Source r ix e | |
=> Array r ix e | Source array that will have a window inserted into it |
-> ix | Start index for the window |
-> ix | Size of the window |
-> (ix -> e) | Inside window indexing function |
-> Array DW ix e |
Supply a separate generating function for interior of an array. This is very usful for stencil mapping, where interior function does not perform boundary checks, thus significantly speeding up computation process.
Since: 0.1.3