Safe Haskell | None |
---|
Selectors.
See Data.Array.Parallel.Unlifted for how this works.
- data USel2 = USel2 {
- usel2_tags :: !(Vector Tag)
- usel2_indices :: !(Vector Int)
- usel2_elements0 :: !Int
- usel2_elements1 :: !Int
- mkUSel2 :: Vector Tag -> Vector Int -> Int -> Int -> USel2
- lengthUSel2 :: USel2 -> Int
- tagsUSel2 :: USel2 -> Vector Tag
- indicesUSel2 :: USel2 -> Vector Int
- elementsUSel2_0 :: USel2 -> Int
- elementsUSel2_1 :: USel2 -> Int
- tagsToIndices2 :: Vector Tag -> Vector Int
Types
Selector.
USel2 | |
|
Operations on selectors
:: Vector Tag | Tags array. |
-> Vector Int | Indices array |
-> Int | Number of elements taken from first array. |
-> Int | Number of elements taken from second array. |
-> USel2 |
O(1). Construct a selector.
lengthUSel2 :: USel2 -> IntSource
O(1). Get the number of elements represented by this selector.
This is the length of the array returned by combine
.
indicesUSel2 :: USel2 -> Vector IntSource
O(1). Get the indices array of a selector.
elementsUSel2_0 :: USel2 -> IntSource
O(1). Get the number of elements that will be taken from the first array.
elementsUSel2_1 :: USel2 -> IntSource
O(1). Get the number of elements that will be taken from the second array.