Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
Tupled arrays where the components are unpacked and can have separate representations.
Tup2 !l1 !l2 |
(Eq (Name l1), Eq (Name l2)) => Eq (Name (T2 l1 l2)) Source # | |
(Show (Name l1), Show (Name l2)) => Show (Name (T2 l1 l2)) Source # | |
(Eq l1, Eq l2) => Eq (T2 l1 l2) Source # | |
(Show (Array l1 a), Show (Array l2 b)) => Show (Array (T2 l1 l2) (a, b)) Source # | |
(Show l1, Show l2) => Show (T2 l1 l2) Source # | |
((~) * (Index l1) (Index l2), Layout l1, Layout l2) => Layout (T2 l1 l2) Source # | |
(Bulk l1 a, Bulk l2 b, (~) * (Index l1) (Index l2)) => Bulk (T2 l1 l2) (a, b) Source # | Tupled arrays. |
(Windowable l1 a, Windowable l2 b, (~) * (Index l1) (Index l2)) => Windowable (T2 l1 l2) (a, b) Source # | Tupled windows. |
(Target l1 a, Target l2 b, (~) * (Index l1) (Index l2)) => Target (T2 l1 l2) (a, b) Source # | Tupled buffers. |
data Name (T2 l1 l2) Source # | |
type Index (T2 l1 l2) Source # | |
data Array (T2 l1 l2) (a, b) Source # | |
data Buffer (T2 l1 l2) (a, b) Source # | |
tup2 :: Array l1 a -> Array l2 b -> Array (T2 l1 l2) (a, b) Source #
Tuple two arrays into an array of pairs.
The two argument arrays must have the same index type, but can have different extents. The extent of the result is the intersection of the extents of the two argument arrays.
untup2 :: Array (T2 l1 l2) (a, b) -> (Array l1 a, Array l2 b) Source #
Untuple an array of tuples in to a tuple of arrays.
- The two returned components may have different extents, though they are
guaranteed to be at least as big as the argument array. This is the
key property that makes
untup2
different fromunzip
.