Enumerations | |
enum | arbb::sort_direction { arbb::sort_ascending = 0, arbb::sort_descending = 1 } |
The set of directions in which the arbb::sort() function can apply. More... | |
Functions | |
template<typename T > | |
dense< T, 1 > | arbb::shift (const dense< T, 1 > &source, const isize &distance, const T &value) |
Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::shift (const dense< T, 1 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with svalue . | |
template<typename T > | |
dense< T, 1 > | arbb::shift (const dense< T, 1 > &source, const isize &distance) |
Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with default values. | |
template<typename T > | |
dense< T, 1 > | arbb::shift_sticky (const dense< T, 1 > &source, const isize &distance) |
Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses clamped to be within bounds. | |
template<typename T > | |
dense< T, 2 > | arbb::shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow, const T &value) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow, const typename uncaptured< T >::type &svalue) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with svalue . | |
template<typename T > | |
dense< T, 2 > | arbb::shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with default values. | |
template<typename T > | |
dense< T, 2 > | arbb::shift_sticky (const dense< T, 2 > &source, const isize &ncol, const isize &nrow) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses clamped to be within bounds. | |
template<typename T > | |
dense< T, 3 > | arbb::shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage, const T &value) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage, const typename uncaptured< T >::type &svalue) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with svalue . | |
template<typename T > | |
dense< T, 3 > | arbb::shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with default values. | |
template<typename T > | |
dense< T, 3 > | arbb::shift_sticky (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses clamped to be within bounds. | |
template<typename T > | |
dense< T, 2 > | arbb::shift_row (const dense< T, 2 > &source, const isize &distance, const T &value) |
Equivalent to shift(source, 0, distance, value) . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::shift_row (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift(source, 0, distance, svalue) . | |
template<typename T > | |
dense< T, 2 > | arbb::shift_row (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift(source, 0, distance) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_row (const dense< T, 3 > &source, const isize &distance, const T &value) |
Equivalent to shift(source, 0, distance, 0, value) . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift_row (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift(source, 0, distance, 0, svalue) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_row (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift(source, 0, distance, 0) . | |
template<typename T > | |
dense< T, 2 > | arbb::shift_row_sticky (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift_sticky(source, 0, distance) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_row_sticky (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_sticky(source, 0, distance, 0) . | |
template<typename T > | |
dense< T, 2 > | arbb::shift_col (const dense< T, 2 > &source, const isize &distance, const T &value) |
Equivalent to shift(source, distance, 0, value) . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::shift_col (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift(source, distance, 0, svalue) . | |
template<typename T > | |
dense< T, 2 > | arbb::shift_col (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift(source, distance, 0) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_col (const dense< T, 3 > &source, const isize &distance, const T &value) |
Equivalent to shift(source, distance, 0, 0, value) . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift_col (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift(source, distance, 0, 0, svalue) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_col (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift(source, distance, 0, 0) . | |
template<typename T > | |
dense< T, 2 > | arbb::shift_col_sticky (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift_sticky(source, distance, 0) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_col_sticky (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_sticky(source, distance, 0, 0) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_page (const dense< T, 3 > &source, const isize &distance, const T &value) |
Equivalent to shift(source, 0, 0, distance, value) . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift_page (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift(source, 0, 0, distance, svalue) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_page (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift(source, 0, 0, distance) . | |
template<typename T > | |
dense< T, 3 > | arbb::shift_page_sticky (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_sticky(source, 0, 0, distance) . | |
template<typename T > | |
dense< T, 1 > | arbb::rotate (const dense< T, 1 > &source, const isize &distance) |
Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses wrapped to be within bounds. | |
template<typename T > | |
dense< T, 2 > | arbb::rotate (const dense< T, 2 > &source, const isize &ncol, const isize &nrow) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses wrapped to be within bounds. | |
template<typename T > | |
dense< T, 3 > | arbb::rotate (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage) |
Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses wrapped to be within bounds. | |
template<typename T > | |
detail::disable_if < detail::is_uncaptured_scalar < T >::value, dense< T, 1 > >::type | arbb::fill (const T &value, const usize &length) |
Returns a dense container of size length filled with value . | |
template<typename T > | |
detail::disable_if < detail::is_uncaptured_scalar < T >::value, dense< T, 2 > >::type | arbb::fill (const T &value, const usize &width, const usize &height) |
Returns a dense container of size {width, height} filled with value . | |
template<typename T > | |
detail::disable_if < detail::is_uncaptured_scalar < T >::value, dense< T, 3 > >::type | arbb::fill (const T &value, const usize &width, const usize &height, const usize &depth) |
Returns a dense container of size {width, height, depth} filled with value . | |
template<typename T > | |
detail::enable_if < detail::is_uncaptured_scalar < T >::value, dense< typename captured< T >::type, 1 > >::type | arbb::fill (const T &value, const array< usize, 1 > &size) |
Returns a one-dimensional dense container of size size filled with value . | |
template<typename T > | |
detail::enable_if < detail::is_uncaptured_scalar < T >::value, dense< typename captured< T >::type, 2 > >::type | arbb::fill (const T &value, const array< usize, 2 > &size) |
Returns a two-dimensional dense container of size size filled with value . | |
template<typename T > | |
detail::enable_if < detail::is_uncaptured_scalar < T >::value, dense< typename captured< T >::type, 3 > >::type | arbb::fill (const T &value, const array< usize, 3 > &size) |
Returns a three-dimensional dense container of size size filled with value . | |
template<typename T > | |
dense< T, 1 > | arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const dense< T, 1 > &defaults) |
Returns a dense container with the same size as defaults , data from source scattered into the locations in index , and elements set to the corresponding elements in defaults if not otherwise initialized. | |
template<typename T > | |
dense< T, 1 > | arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length, const T &value) |
Returns a dense container with a size of sparse_length , data from source scattered into the locations in index , and elements set to value if not otherwise initialized. | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length, const typename uncaptured< T >::type &svalue) |
Returns a dense container with a size of sparse_length , data from source scattered into the locations in index , and elements set to svalue if not otherwise initialized. | |
template<typename T > | |
dense< T, 1 > | arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length) |
Returns a dense container with a size of sparse_length , data from source scattered into the locations in index , and elements set to T() , unless initialized otherwise. | |
template<typename T > | |
dense< T, 2 > | arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const dense< T, 2 > &defaults) |
Returns a dense container with the same size as defaults , data from source scattered into the locations in index , and elements set to the corresponding elements in defaults if not otherwise initialized. | |
template<typename T > | |
dense< T, 2 > | arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows, const T &value) |
Returns a dense container with a size of {ncols, nrows} , data from source scattered into the locations in index , and elements set to value , unless initialized otherwise. | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows, const typename uncaptured< T >::type &svalue) |
Returns a dense container with a size of {ncols, nrows} , data from source scattered into the locations in index , and elements set to svalue , unless initialized otherwise. | |
template<typename T > | |
dense< T, 2 > | arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows) |
Returns a dense container with a size of {ncols, nrows} , data from source scattered into the locations in index , and elements set to T() , unless initialized otherwise. | |
template<typename T > | |
dense< T, 3 > | arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const dense< T, 3 > &defaults) |
Returns a dense container with the same size as defaults , data from source scattered into the locations in index , and elements set to the corresponding elements in defaults , unless initialized otherwise. | |
template<typename T > | |
dense< T, 3 > | arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages, const T &value) |
Returns a dense container with a size of {ncols, nrows, npage} , data from source scattered into the locations in index , and elements set to value , unless initialized otherwise. | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages, const typename uncaptured< T >::type &svalue) |
Returns a dense container with a size of {ncols, nrows, npage} , data from source scattered into the locations in index , and elements set to svalue , unless initialized otherwise. | |
template<typename T > | |
dense< T, 3 > | arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages) |
Returns a dense container with a size of {ncols, nrows, npage} , data from source scattered into the locations in index , and elements set to T() , unless initialized otherwise. | |
template<typename T > | |
dense< T, 1 > | arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask, const T &value) |
Equivalent to select(mask, source, value) . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask, const typename uncaptured< T >::type &svalue) |
Equivalent to select(mask, source, svalue) . | |
template<typename T > | |
dense< T, 1 > | arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask) |
Equivalent to select(mask, source, T()) . | |
template<typename T > | |
dense< T, 1 > | arbb::pack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask) |
Returns a dense container containing all elements from source whose corresponding entry in mask is true , in order. | |
template<typename T > | |
dense< T, 1 > | arbb::repeat (const dense< T, 1 > &source, const usize ×, bool collate=true) |
Returns a dense container with a size of times * source.size() containing times copies of source . | |
template<typename T > | |
dense< T, 1 > | arbb::repeat (const dense< T, 1 > &source, const dense< usize, 1 > ×) |
Returns a dense container with each element from source replicated a number of times equal to the corresponding element of times . | |
template<typename T > | |
dense< T, 2 > | arbb::repeat_row (const dense< T, 1 > &source, const usize &nrows) |
Returns a two-dimensional dense container with nrows rows, where each row contains a copy of source . | |
template<typename T > | |
dense< T, 2 > | arbb::repeat_col (const dense< T, 1 > &source, const usize &ncols) |
Returns a two-dimensional dense container with ncols columns, where each column contains a copy of source . | |
template<typename T > | |
dense< T, 3 > | arbb::repeat_page (const dense< T, 2 > &source, const usize &npages) |
Returns a three-dimensional dense container with npages pages, where each page contains a copy of source . | |
template<typename T > | |
dense< T, 1 > | arbb::shuffle (const dense< T, 1 > &source1, const dense< T, 1 > &source2, const usize &grain) |
Returns a dense container with grain elements alternately drawn from source1 and source2 . | |
template<typename T > | |
dense< T, 1 > | arbb::unshuffle (const dense< T, 1 > &source, const usize &grain) |
Partitions source into two containers, each having an alternating grain elements from source , and returns the two containers concatenated in order. | |
template<typename T > | |
dense< T, 1 > | arbb::reverse (const dense< T, 1 > &source) |
Returns a dense container with the same size as source containing the elements of source in the reverse order. | |
template<typename T > | |
dense< T, 1 > | arbb::gather (const dense< T, 1 > &source, const dense< usize, 1 > &index, const T &value) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::gather (const dense< T, 1 > &source, const dense< usize, 1 > &index, const typename uncaptured< T >::type &svalue) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to svalue . | |
template<typename T > | |
dense< T, 1 > | arbb::gather (const dense< T, 1 > &source, const dense< usize, 1 > &index) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to T() . | |
template<typename T > | |
dense< T, 2 > | arbb::gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const T &value) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const typename uncaptured< T >::type &svalue) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to svalue . | |
template<typename T > | |
dense< T, 2 > | arbb::gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to T() . | |
template<typename T > | |
dense< T, 3 > | arbb::gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const T &value) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const typename uncaptured< T >::type &svalue) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to svalue . | |
template<typename T > | |
dense< T, 3 > | arbb::gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index) |
Returns a dense container R with the same size as index such that R[i] = source[index[i]] , with any elements at out-of-bounds indices set to T() . | |
template<typename T > | |
dense< T, 1 > | arbb::cat (const dense< T, 1 > &source1, const dense< T, 1 > &source2) |
Returns the concatenation of source1 followed by source2 . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::indices (const T &start, const usize &nelts, const T &stride) |
Returns a dense container with a size of nelts containing an increasing sequence of values beginning with start and incrementing by stride between elements. | |
template<typename T > | |
dense< T, 1 > | arbb::replace (const dense< T, 1 > &source, const usize &index, const T &value) |
Returns a dense container with the same size and values as source , but with the element at index replaced by value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::replace (const dense< T, 1 > &source, const usize &index, const typename uncaptured< T >::type &svalue) |
Returns a dense container with the same size and values as source , but with the element at index replaced by svalue . | |
template<typename T > | |
dense< T, 1 > | arbb::replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const T &value) |
Returns a dense container with the same size and values as source , but with nelts elements beginning at start and incrementing by stride replaced by value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const typename uncaptured< T >::type &svalue) |
Returns a dense container with the same size and values as source , but with nelts elements beginning at start and incrementing by stride replaced by svalue . | |
template<typename T > | |
dense< T, 1 > | arbb::replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const dense< T, 1 > &value) |
Returns a dense container with the same size and values as source , but with nelts elements beginning at start and incrementing by stride replaced by elements from value , which must be nelts in size. | |
template<typename T > | |
dense< T, 2 > | arbb::replace_row (const dense< T, 2 > &source, const usize &row, const dense< T, 1 > &value) |
Returns a dense container with the same size and values as source , but with the row at index row replaced by elements from value . | |
template<typename T > | |
dense< T, 2 > | arbb::replace_col (const dense< T, 2 > &source, const usize &col, const dense< T, 1 > &value) |
Returns a dense container with the same size and values as source , but with the column at index col replaced by elements from value . | |
template<typename T > | |
dense< T, 2 > | arbb::replace (const dense< T, 2 > &source, const usize &col, const usize &row, const T &value) |
Returns a dense container with the same size and values as source , but with the element at index {col, row} replaced by value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::replace (const dense< T, 2 > &source, const usize &col, const usize &row, const typename uncaptured< T >::type &svalue) |
Returns a dense container with the same size and values as source , but with the element at index {col, row} replaced by svalue . | |
template<typename T > | |
dense< T, 2 > | arbb::replace (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows, const dense< T, 2 > &values) |
Returns a dense container with the same size and values as source , but with the elements starting at index {start_col, start_row} replaced by the elements in values . | |
template<typename T > | |
dense< T, 2 > | arbb::replace (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch, const dense< T, 2 > &values) |
Returns a dense container with the same size and values as source , but with the elements starting at index {start_col, start_row} moving in increments of {col_pitch, row_pitch} replaced by the elements in values . | |
template<typename T > | |
dense< T, 3 > | arbb::replace (const dense< T, 3 > &source, const usize &col, const usize &row, const usize &page, const T &value) |
Returns a dense container with the same size and values as source , but with the element at index {col, row, page} replaced by value . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::replace (const dense< T, 3 > &source, const usize &col, const usize &row, const usize &page, const typename uncaptured< T >::type &svalue) |
Returns a dense container with the same size and values as source , but with the element at index {col, row, page} replaced by svalue . | |
template<typename T > | |
dense< T, 3 > | arbb::replace_row (const dense< T, 3 > &source, const usize &row, const usize &page, const dense< T, 1 > &values) |
Returns a dense container with the same size and values as source , but with the row at index row in the page at index page replaced by values . | |
template<typename T > | |
dense< T, 3 > | arbb::replace_col (const dense< T, 3 > &source, const usize &col, const usize &page, const dense< T, 1 > &values) |
Returns a dense container with the same size and values as source , but with the column at index column in the page at index page replaced by values . | |
template<typename T > | |
dense< T, 3 > | arbb::replace_dim3 (const dense< T, 3 > &source, const usize &col, const usize &row, const dense< T, 1 > &values) |
Returns a dense container with the same size and values as source , but with the pillar at column col and row row replaced by values . | |
template<typename T > | |
dense< T, 3 > | arbb::replace_page (const dense< T, 3 > &source, const usize &page, const dense< T, 2 > &value) |
Returns a dense container with the same size and values as source , but with the page at index page replaced by value . | |
template<typename T > | |
dense< T, 2 > | arbb::swap_rows (const dense< T, 2 > &source, const usize &row1, const usize &row2) |
Returns a dense container with the same size and values as source , but with the rows at row1 and row2 swapped. | |
template<typename T > | |
dense< T, 3 > | arbb::swap_rows (const dense< T, 3 > &source, const usize &row1, const usize &row2) |
Returns a dense container with the same size and values as source , but with the rows at row1 and row2 swapped. | |
template<typename T > | |
dense< T, 2 > | arbb::swap_cols (const dense< T, 2 > &source, const usize &col1, const usize &col2) |
Returns a dense container with the same size and values as source , but with the columns at col1 and col2 swapped. | |
template<typename T > | |
dense< T, 3 > | arbb::swap_cols (const dense< T, 3 > &source, const usize &col1, const usize &col2) |
Returns a dense container with the same size and values as source , but with the columns at col1 and col2 swapped. | |
template<typename T > | |
dense< T, 3 > | arbb::swap_pages (const dense< T, 3 > &source, const usize &page1, const usize &page2) |
Returns a dense container with the same size and values as source , but with the pages at page1 and page2 swapped. | |
template<typename T > | |
dense< T, 2 > | arbb::transpose (const dense< T, 2 > &source) |
Returns a dense container R such that R(i, j) = source(j, i) . | |
template<typename T > | |
dense< T, 3 > | arbb::transpose (const dense< T, 3 > &source) |
Returns a dense container R such that R(i, j, k) = source(j, i, k) . | |
template<typename T > | |
dense< T, 1 > | arbb::section (const dense< T, 1 > &source, const usize &first, const usize &nelts, const usize &stride=1) |
Returns a dense container with a size of nelts containing the elements obtained from source starting at index first incrementing by steps of stride . | |
template<typename T > | |
dense< T, 2 > | arbb::section (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows) |
Returns a dense container with a size of {ncols, nrows} containing the elements obtained from source starting at index {start_col, start_row} . | |
template<typename T > | |
dense< T, 2 > | arbb::section (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch) |
Returns a dense container with a size of {ncols, nrows} containing the elements obtained from source starting at index {start_col, start_row} incrementing by steps of col_pitch and row_pitch in each dimension respectively. | |
template<typename T > | |
dense< T, 3 > | arbb::section (const dense< T, 3 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows, const usize &start_page, const usize &npages) |
Returns a dense container with a size of {ncols, nrows, npages} containing the elements obtained from source starting at index {start_col, start_row, start_page} . | |
template<typename T > | |
dense< T, 3 > | arbb::section (const dense< T, 3 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch, const usize &start_page, const usize &npages, const usize &page_pitch) |
Returns a dense container with a size of {ncols, nrows, npages} containing the elements obtained from source starting at index {start_col, start_row, start_page} incrementing by steps of col_pitch , row_pitch and page_pitch in each dimension, respectively. | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::sort (const dense< T, 1 > &source, dense< usize, 1 > &rank, sort_direction direction=sort_ascending) |
Returns a copy of source sorted in the given direction , storing the location from which each element in the result vector was retrieved in the corresponding element of rank . | |
template<typename T > | |
detail::enable_if < detail::is_scalar< T > ::value, dense< T, 1 > >::type | arbb::sort (const dense< T, 1 > &source, sort_direction direction=sort_ascending) |
Returns a copy of source sorted in the given direction . | |
u64 | arbb::wall_clock () |
Retrieves the current platform-specific time. | |
dense< boolean, 1 > | arbb::mask (const usize &result_size, const usize &start, const usize &true_count, const usize &stride) |
Returns a dense container with a size of result_size , where true_count elements are set to true every stride elements starting at index start . | |
template<typename T > | |
dense< T, 2 > | arbb::reshape (const dense< T, 1 > &source, const usize &ncols, const usize &nrows) |
Returns a dense container of size {ncols, nrows} , filled with values from source in row-major order. | |
template<typename T , typename U > | |
dense< T, 2 > | arbb::reshape_as (const dense< T, 1 > &source, const dense< U, 2 > &shape) |
Equivalent to reshape(source, shape.width(), shape.height()) . | |
template<typename T > | |
dense< T, 3 > | arbb::reshape (const dense< T, 1 > &source, const usize &ncols, const usize &nrows, const usize &npages) |
Returns a dense container of size {ncols, nrows, npages} , filled with values from source in page-major, row-major order. | |
template<typename T , typename U > | |
dense< T, 3 > | arbb::reshape_as (const dense< T, 1 > &source, const dense< U, 3 > &shape) |
Equivalent to reshape(source, shape.width(), shape.height(), shape.depth()) . | |
template<typename T , std::size_t D> | |
dense< T > | arbb::add_merge (const dense< T, D > &source, const dense< isize > &indices) |
Returns a dense container with the same size as source , where data from source is scattered according to indices , and collisions are resolved by adding values together. |
enum arbb::sort_direction |
The set of directions in which the arbb::sort() function can apply.
Definition at line 1751 of file dense_funcs.hpp.
dense<T, 1> arbb::shift | ( | const dense< T, 1 > & | source, | |
const isize & | distance, | |||
const T & | value | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by distance
and out-of-bounds accesses replaced with value
.
The returned container R
is defined as:
R[i] = arbb::select(0 <= i - distance && i - distance < source.size(), source[i - distance], value);
Definition at line 49 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::shift | ( | const dense< T, 1 > & | source, | |
const isize & | distance, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by distance
and out-of-bounds accesses replaced with svalue
.
The returned container R
is defined as:
R[i] = arbb::select(0 <= i - distance && i - distance < source.size(), source[i - distance], svalue);
Definition at line 76 of file dense_funcs.hpp.
dense<T, 1> arbb::shift | ( | const dense< T, 1 > & | source, | |
const isize & | distance | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by distance
and out-of-bounds accesses replaced with default values.
The returned container R
is defined as:
R[i] = arbb::select(0 <= i - distance && i - distance < source.size(), source[i - distance], T());
Definition at line 95 of file dense_funcs.hpp.
dense<T, 1> arbb::shift_sticky | ( | const dense< T, 1 > & | source, | |
const isize & | distance | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by distance
and out-of-bounds accesses clamped to be within bounds.
The returned container R
is defined as:
Definition at line 113 of file dense_funcs.hpp.
dense<T, 2> arbb::shift | ( | const dense< T, 2 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const T & | value | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow}
and out-of-bounds accesses replaced with value
.
The returned container R
is defined as:
R[i] = arbb::select(all(0 <= i - {ncol, nrow} && i - {ncol, nrow} < source.size()), source[i - {ncol, nrow}], value);
Definition at line 139 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::shift | ( | const dense< T, 2 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow}
and out-of-bounds accesses replaced with svalue
.
The returned container R
is defined as:
R[i] = arbb::select(all(0 <= i - {ncol, nrow} && i - {ncol, nrow} < source.size()), source[i - {ncol, nrow}], svalue);
Definition at line 166 of file dense_funcs.hpp.
dense<T, 2> arbb::shift | ( | const dense< T, 2 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow}
and out-of-bounds accesses replaced with default values.
The returned container R
is defined as:
R[i] = arbb::select(all(0 <= i - {ncol, nrow} && i - {ncol, nrow} < source.size()), source[i - {ncol, nrow}], T());
Definition at line 185 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_sticky | ( | const dense< T, 2 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow}
and out-of-bounds accesses clamped to be within bounds.
The returned container R
is defined as:
Definition at line 203 of file dense_funcs.hpp.
dense<T, 3> arbb::shift | ( | const dense< T, 3 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const isize & | npage, | |||
const T & | value | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow, npage}
and out-of-bounds accesses replaced with value
.
The returned container R
is defined as:
R[i] = arbb::select(all(0 <= i - {ncol, nrow, npage} && i - {ncol, nrow, npage} < source.size()), source[i - {ncol, nrow, npage}], value);
Definition at line 229 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift | ( | const dense< T, 3 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const isize & | npage, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow, npage}
and out-of-bounds accesses replaced with svalue
.
The returned container R
is defined as:
R[i] = arbb::select(all(0 <= i - {ncol, nrow, npage} && i - {ncol, nrow, npage} < source.size()), source[i - {ncol, nrow, npage}], svalue);
Definition at line 256 of file dense_funcs.hpp.
dense<T, 3> arbb::shift | ( | const dense< T, 3 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const isize & | npage | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow, npage}
and out-of-bounds accesses replaced with default values.
The returned container R
is defined as:
R[i] = arbb::select(all(0 <= i - {ncol, nrow, npage} && i - {ncol, nrow, npage} < source.size()), source[i - {ncol, nrow, npage}], T());
Definition at line 275 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_sticky | ( | const dense< T, 3 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const isize & | npage | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow, npage}
and out-of-bounds accesses clamped to be within bounds.
The returned container R
is defined as:
Definition at line 293 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_row | ( | const dense< T, 2 > & | source, | |
const isize & | distance, | |||
const T & | value | |||
) | [inline] |
Equivalent to shift(source, 0, distance, value)
.
Definition at line 310 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::shift_row | ( | const dense< T, 2 > & | source, | |
const isize & | distance, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Equivalent to shift(source, 0, distance, svalue)
.
Definition at line 318 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_row | ( | const dense< T, 2 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift(source, 0, distance)
.
Definition at line 328 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_row | ( | const dense< T, 3 > & | source, | |
const isize & | distance, | |||
const T & | value | |||
) | [inline] |
Equivalent to shift(source, 0, distance, 0, value)
.
Definition at line 338 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_row | ( | const dense< T, 3 > & | source, | |
const isize & | distance, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Equivalent to shift(source, 0, distance, 0, svalue)
.
Definition at line 346 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_row | ( | const dense< T, 3 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift(source, 0, distance, 0)
.
Definition at line 356 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_row_sticky | ( | const dense< T, 2 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift_sticky(source, 0, distance)
.
Definition at line 366 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_row_sticky | ( | const dense< T, 3 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift_sticky(source, 0, distance, 0)
.
Definition at line 374 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_col | ( | const dense< T, 2 > & | source, | |
const isize & | distance, | |||
const T & | value | |||
) | [inline] |
Equivalent to shift(source, distance, 0, value)
.
Definition at line 382 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::shift_col | ( | const dense< T, 2 > & | source, | |
const isize & | distance, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Equivalent to shift(source, distance, 0, svalue)
.
Definition at line 390 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_col | ( | const dense< T, 2 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift(source, distance, 0)
.
Definition at line 400 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_col | ( | const dense< T, 3 > & | source, | |
const isize & | distance, | |||
const T & | value | |||
) | [inline] |
Equivalent to shift(source, distance, 0, 0, value)
.
Definition at line 410 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_col | ( | const dense< T, 3 > & | source, | |
const isize & | distance, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Equivalent to shift(source, distance, 0, 0, svalue)
.
Definition at line 418 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_col | ( | const dense< T, 3 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift(source, distance, 0, 0)
.
Definition at line 428 of file dense_funcs.hpp.
dense<T, 2> arbb::shift_col_sticky | ( | const dense< T, 2 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift_sticky(source, distance, 0)
.
Definition at line 438 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_col_sticky | ( | const dense< T, 3 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift_sticky(source, distance, 0, 0)
.
Definition at line 446 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_page | ( | const dense< T, 3 > & | source, | |
const isize & | distance, | |||
const T & | value | |||
) | [inline] |
Equivalent to shift(source, 0, 0, distance, value)
.
Definition at line 454 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_page | ( | const dense< T, 3 > & | source, | |
const isize & | distance, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Equivalent to shift(source, 0, 0, distance, svalue)
.
Definition at line 462 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_page | ( | const dense< T, 3 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift(source, 0, 0, distance)
.
Definition at line 472 of file dense_funcs.hpp.
dense<T, 3> arbb::shift_page_sticky | ( | const dense< T, 3 > & | source, | |
const isize & | distance | |||
) | [inline] |
Equivalent to shift_sticky(source, 0, 0, distance)
.
Definition at line 482 of file dense_funcs.hpp.
dense<T, 1> arbb::rotate | ( | const dense< T, 1 > & | source, | |
const isize & | distance | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by distance
and out-of-bounds accesses wrapped to be within bounds.
The returned container R
is defined as:
R[i] = source[(i - distance) % source.size() + (i - distance < 0 ? source.size() : 0)];
Definition at line 498 of file dense_funcs.hpp.
dense<T, 2> arbb::rotate | ( | const dense< T, 2 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow}
and out-of-bounds accesses wrapped to be within bounds.
The returned container R
is defined as:
R[i] = source[(i - {ncol, nrow}) % source.size() + (i - {ncol, nrow} < 0 ? source.size() : 0)];
Definition at line 523 of file dense_funcs.hpp.
dense<T, 3> arbb::rotate | ( | const dense< T, 3 > & | source, | |
const isize & | ncol, | |||
const isize & | nrow, | |||
const isize & | npage | |||
) | [inline] |
Returns a dense container of the same size as source
with all values shifted by {ncol, nrow, npage}
and out-of-bounds accesses wrapped to be within bounds.
The returned container R
is defined as:
R[i] = source[(i - {ncol, nrow, npage}) % source.size() + (i - {ncol, nrow, npage} < 0 ? source.size() : 0)];
Definition at line 548 of file dense_funcs.hpp.
detail::enable_if< detail::is_uncaptured_scalar< T >::value, dense< typename captured< T >::type, 1 > >::type arbb::fill | ( | const T & | value, | |
const usize & | length | |||
) | [inline] |
Returns a dense container of size length
filled with value
.
Definition at line 600 of file dense_funcs.hpp.
detail::enable_if< detail::is_uncaptured_scalar< T >::value, dense< typename captured< T >::type, 2 > >::type arbb::fill | ( | const T & | value, | |
const usize & | width, | |||
const usize & | height | |||
) | [inline] |
Returns a dense container of size {width, height}
filled with value
.
Definition at line 609 of file dense_funcs.hpp.
detail::enable_if< detail::is_uncaptured_scalar< T >::value, dense< typename captured< T >::type, 3 > >::type arbb::fill | ( | const T & | value, | |
const usize & | width, | |||
const usize & | height, | |||
const usize & | depth | |||
) | [inline] |
Returns a dense container of size {width, height, depth}
filled with value
.
Definition at line 618 of file dense_funcs.hpp.
detail::disable_if< detail::is_uncaptured_scalar< T >::value, dense< T, 1 > >::type arbb::fill | ( | const T & | value, | |
const array< usize, 1 > & | size | |||
) | [inline] |
Returns a one-dimensional dense container of size size
filled with value
.
Definition at line 654 of file dense_funcs.hpp.
detail::disable_if< detail::is_uncaptured_scalar< T >::value, dense< T, 2 > >::type arbb::fill | ( | const T & | value, | |
const array< usize, 2 > & | size | |||
) | [inline] |
Returns a two-dimensional dense container of size size
filled with value
.
Definition at line 663 of file dense_funcs.hpp.
detail::disable_if< detail::is_uncaptured_scalar< T >::value, dense< T, 3 > >::type arbb::fill | ( | const T & | value, | |
const array< usize, 3 > & | size | |||
) | [inline] |
Returns a three-dimensional dense container of size size
filled with value
.
Definition at line 672 of file dense_funcs.hpp.
dense<T, 1> arbb::scatter | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index, | |||
const dense< T, 1 > & | defaults | |||
) | [inline] |
Returns a dense container with the same size as defaults
, data from source
scattered into the locations in index
, and elements set to the corresponding elements in defaults
if not otherwise initialized.
Definition at line 683 of file dense_funcs.hpp.
dense<T, 1> arbb::scatter | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index, | |||
const usize & | sparse_length, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with a size of sparse_length
, data from source
scattered into the locations in index
, and elements set to value
if not otherwise initialized.
Definition at line 703 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::scatter | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index, | |||
const usize & | sparse_length, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with a size of sparse_length
, data from source
scattered into the locations in index
, and elements set to svalue
if not otherwise initialized.
Definition at line 713 of file dense_funcs.hpp.
dense<T, 1> arbb::scatter | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index, | |||
const usize & | sparse_length | |||
) | [inline] |
Returns a dense container with a size of sparse_length
, data from source
scattered into the locations in index
, and elements set to T()
, unless initialized otherwise.
Definition at line 725 of file dense_funcs.hpp.
dense<T, 2> arbb::scatter | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index, | |||
const dense< T, 2 > & | defaults | |||
) | [inline] |
Returns a dense container with the same size as defaults
, data from source
scattered into the locations in index
, and elements set to the corresponding elements in defaults
if not otherwise initialized.
Definition at line 738 of file dense_funcs.hpp.
dense<T, 2> arbb::scatter | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index, | |||
const usize & | ncols, | |||
const usize & | nrows, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows}
, data from source
scattered into the locations in index
, and elements set to value
, unless initialized otherwise.
Definition at line 761 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::scatter | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index, | |||
const usize & | ncols, | |||
const usize & | nrows, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows}
, data from source
scattered into the locations in index
, and elements set to svalue
, unless initialized otherwise.
Definition at line 773 of file dense_funcs.hpp.
dense<T, 2> arbb::scatter | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index, | |||
const usize & | ncols, | |||
const usize & | nrows | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows}
, data from source
scattered into the locations in index
, and elements set to T()
, unless initialized otherwise.
Definition at line 787 of file dense_funcs.hpp.
dense<T, 3> arbb::scatter | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index, | |||
const dense< T, 3 > & | defaults | |||
) | [inline] |
Returns a dense container with the same size as defaults
, data from source
scattered into the locations in index
, and elements set to the corresponding elements in defaults
, unless initialized otherwise.
Definition at line 801 of file dense_funcs.hpp.
dense<T, 3> arbb::scatter | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index, | |||
const usize & | ncols, | |||
const usize & | nrows, | |||
const usize & | npages, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows, npage}
, data from source
scattered into the locations in index
, and elements set to value
, unless initialized otherwise.
Definition at line 826 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::scatter | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index, | |||
const usize & | ncols, | |||
const usize & | nrows, | |||
const usize & | npages, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows, npage}
, data from source
scattered into the locations in index
, and elements set to svalue
, unless initialized otherwise.
Definition at line 839 of file dense_funcs.hpp.
dense<T, 3> arbb::scatter | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index, | |||
const usize & | ncols, | |||
const usize & | nrows, | |||
const usize & | npages | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows, npage}
, data from source
scattered into the locations in index
, and elements set to T()
, unless initialized otherwise.
Definition at line 854 of file dense_funcs.hpp.
dense<T, 1> arbb::unpack | ( | const dense< T, 1 > & | source, | |
const dense< boolean, 1 > & | mask, | |||
const T & | value | |||
) | [inline] |
Equivalent to select(mask, source, value)
.
Definition at line 865 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::unpack | ( | const dense< T, 1 > & | source, | |
const dense< boolean, 1 > & | mask, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Equivalent to select(mask, source, svalue)
.
Definition at line 883 of file dense_funcs.hpp.
dense<T, 1> arbb::unpack | ( | const dense< T, 1 > & | source, | |
const dense< boolean, 1 > & | mask | |||
) | [inline] |
Equivalent to select(mask, source, T())
.
Definition at line 893 of file dense_funcs.hpp.
dense<T, 1> arbb::pack | ( | const dense< T, 1 > & | source, | |
const dense< boolean, 1 > & | mask | |||
) | [inline] |
Returns a dense container containing all elements from source
whose corresponding entry in mask
is true
, in order.
Definition at line 905 of file dense_funcs.hpp.
dense<T, 1> arbb::repeat | ( | const dense< T, 1 > & | source, | |
const usize & | times, | |||
bool | collate = true | |||
) | [inline] |
Returns a dense container with a size of times * source.size()
containing times
copies of source
.
If collate
is true
, each copy of source
remains contiguous, otherwise the elements are interleaved.
Definition at line 925 of file dense_funcs.hpp.
dense<T, 1> arbb::repeat | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | times | |||
) | [inline] |
Returns a dense container with each element from source
replicated a number of times equal to the corresponding element of times
.
Definition at line 946 of file dense_funcs.hpp.
dense<T, 2> arbb::repeat_row | ( | const dense< T, 1 > & | source, | |
const usize & | nrows | |||
) | [inline] |
Returns a two-dimensional dense container with nrows
rows, where each row contains a copy of source
.
Definition at line 966 of file dense_funcs.hpp.
dense<T, 2> arbb::repeat_col | ( | const dense< T, 1 > & | source, | |
const usize & | ncols | |||
) | [inline] |
Returns a two-dimensional dense container with ncols
columns, where each column contains a copy of source
.
Definition at line 984 of file dense_funcs.hpp.
dense<T, 3> arbb::repeat_page | ( | const dense< T, 2 > & | source, | |
const usize & | npages | |||
) | [inline] |
Returns a three-dimensional dense container with npages
pages, where each page contains a copy of source
.
Definition at line 1002 of file dense_funcs.hpp.
dense<T, 1> arbb::shuffle | ( | const dense< T, 1 > & | source1, | |
const dense< T, 1 > & | source2, | |||
const usize & | grain | |||
) | [inline] |
Returns a dense container with grain
elements alternately drawn from source1
and source2
.
Definition at line 1020 of file dense_funcs.hpp.
dense<T, 1> arbb::unshuffle | ( | const dense< T, 1 > & | source, | |
const usize & | grain | |||
) | [inline] |
Partitions source
into two containers, each having an alternating grain
elements from source
, and returns the two containers concatenated in order.
Definition at line 1041 of file dense_funcs.hpp.
dense<T, 1> arbb::reverse | ( | const dense< T, 1 > & | source | ) | [inline] |
Returns a dense container with the same size as source
containing the elements of source
in the reverse order.
Definition at line 1060 of file dense_funcs.hpp.
dense<T, 1> arbb::gather | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index, | |||
const T & | value | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to value
.
Definition at line 1079 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::gather | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to svalue
.
Definition at line 1100 of file dense_funcs.hpp.
dense<T, 1> arbb::gather | ( | const dense< T, 1 > & | source, | |
const dense< usize, 1 > & | index | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to T()
.
Definition at line 1112 of file dense_funcs.hpp.
dense<T, 2> arbb::gather | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index, | |||
const T & | value | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to value
.
Definition at line 1124 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::gather | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to svalue
.
Definition at line 1147 of file dense_funcs.hpp.
dense<T, 2> arbb::gather | ( | const dense< T, 2 > & | source, | |
const dense< array< usize, 2 >, 2 > & | index | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to T()
.
Definition at line 1159 of file dense_funcs.hpp.
dense<T, 3> arbb::gather | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index, | |||
const T & | value | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to value
.
Definition at line 1171 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::gather | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to svalue
.
Definition at line 1195 of file dense_funcs.hpp.
dense<T, 3> arbb::gather | ( | const dense< T, 3 > & | source, | |
const dense< array< usize, 3 >, 3 > & | index | |||
) | [inline] |
Returns a dense container R
with the same size as index
such that R[i] = source[index[i]]
, with any elements at out-of-bounds indices set to T()
.
Definition at line 1207 of file dense_funcs.hpp.
dense<T, 1> arbb::cat | ( | const dense< T, 1 > & | source1, | |
const dense< T, 1 > & | source2 | |||
) | [inline] |
Returns the concatenation of source1
followed by source2
.
Definition at line 1217 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::indices | ( | const T & | start, | |
const usize & | nelts, | |||
const T & | stride | |||
) | [inline] |
Returns a dense container with a size of nelts
containing an increasing sequence of values beginning with start
and incrementing by stride
between elements.
Definition at line 1237 of file dense_funcs.hpp.
dense<T, 1> arbb::replace | ( | const dense< T, 1 > & | source, | |
const usize & | index, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the element at index
replaced by value
.
Definition at line 1269 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::replace | ( | const dense< T, 1 > & | source, | |
const usize & | index, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the element at index
replaced by svalue
.
Definition at line 1288 of file dense_funcs.hpp.
dense<T, 1> arbb::replace | ( | const dense< T, 1 > & | source, | |
const usize & | start, | |||
const usize & | nelts, | |||
const usize & | stride, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with nelts
elements beginning at start
and incrementing by stride
replaced by value
.
Definition at line 1300 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::replace | ( | const dense< T, 1 > & | source, | |
const usize & | start, | |||
const usize & | nelts, | |||
const usize & | stride, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with nelts
elements beginning at start
and incrementing by stride
replaced by svalue
.
Definition at line 1311 of file dense_funcs.hpp.
dense<T, 1> arbb::replace | ( | const dense< T, 1 > & | source, | |
const usize & | start, | |||
const usize & | nelts, | |||
const usize & | stride, | |||
const dense< T, 1 > & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with nelts
elements beginning at start
and incrementing by stride
replaced by elements from value
, which must be nelts
in size.
Definition at line 1324 of file dense_funcs.hpp.
dense<T, 2> arbb::replace_row | ( | const dense< T, 2 > & | source, | |
const usize & | row, | |||
const dense< T, 1 > & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the row at index row
replaced by elements from value
.
Definition at line 1344 of file dense_funcs.hpp.
dense<T, 2> arbb::replace_col | ( | const dense< T, 2 > & | source, | |
const usize & | col, | |||
const dense< T, 1 > & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the column at index col
replaced by elements from value
.
Definition at line 1364 of file dense_funcs.hpp.
dense<T, 2> arbb::replace | ( | const dense< T, 2 > & | source, | |
const usize & | col, | |||
const usize & | row, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the element at index {col, row}
replaced by value
.
Definition at line 1384 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::replace | ( | const dense< T, 2 > & | source, | |
const usize & | col, | |||
const usize & | row, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the element at index {col, row}
replaced by svalue
.
Definition at line 1404 of file dense_funcs.hpp.
dense<T, 2> arbb::replace | ( | const dense< T, 2 > & | source, | |
const usize & | start_col, | |||
const usize & | ncols, | |||
const usize & | start_row, | |||
const usize & | nrows, | |||
const dense< T, 2 > & | values | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the elements starting at index {start_col, start_row}
replaced by the elements in values
.
Definition at line 1416 of file dense_funcs.hpp.
dense<T, 2> arbb::replace | ( | const dense< T, 2 > & | source, | |
const usize & | start_col, | |||
const usize & | ncols, | |||
const usize & | col_pitch, | |||
const usize & | start_row, | |||
const usize & | nrows, | |||
const usize & | row_pitch, | |||
const dense< T, 2 > & | values | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the elements starting at index {start_col, start_row}
moving in increments of {col_pitch, row_pitch}
replaced by the elements in values
.
Definition at line 1429 of file dense_funcs.hpp.
dense<T, 3> arbb::replace | ( | const dense< T, 3 > & | source, | |
const usize & | col, | |||
const usize & | row, | |||
const usize & | page, | |||
const T & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the element at index {col, row, page}
replaced by value
.
Definition at line 1455 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::replace | ( | const dense< T, 3 > & | source, | |
const usize & | col, | |||
const usize & | row, | |||
const usize & | page, | |||
const typename uncaptured< T >::type & | svalue | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the element at index {col, row, page}
replaced by svalue
.
Definition at line 1475 of file dense_funcs.hpp.
dense<T, 3> arbb::replace_row | ( | const dense< T, 3 > & | source, | |
const usize & | row, | |||
const usize & | page, | |||
const dense< T, 1 > & | values | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the row at index row
in the page at index page
replaced by values
.
Definition at line 1487 of file dense_funcs.hpp.
dense<T, 3> arbb::replace_col | ( | const dense< T, 3 > & | source, | |
const usize & | col, | |||
const usize & | page, | |||
const dense< T, 1 > & | values | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the column at index column
in the page at index page
replaced by values
.
Definition at line 1497 of file dense_funcs.hpp.
dense<T, 3> arbb::replace_dim3 | ( | const dense< T, 3 > & | source, | |
const usize & | col, | |||
const usize & | row, | |||
const dense< T, 1 > & | values | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the pillar at column col
and row row
replaced by values
.
Definition at line 1507 of file dense_funcs.hpp.
dense<T, 3> arbb::replace_page | ( | const dense< T, 3 > & | source, | |
const usize & | page, | |||
const dense< T, 2 > & | value | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the page at index page
replaced by value
.
Definition at line 1520 of file dense_funcs.hpp.
dense<T, 2> arbb::swap_rows | ( | const dense< T, 2 > & | source, | |
const usize & | row1, | |||
const usize & | row2 | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the rows at row1
and row2
swapped.
Definition at line 1539 of file dense_funcs.hpp.
dense<T, 3> arbb::swap_rows | ( | const dense< T, 3 > & | source, | |
const usize & | row1, | |||
const usize & | row2 | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the rows at row1
and row2
swapped.
Definition at line 1557 of file dense_funcs.hpp.
dense<T, 2> arbb::swap_cols | ( | const dense< T, 2 > & | source, | |
const usize & | col1, | |||
const usize & | col2 | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the columns at col1
and col2
swapped.
Definition at line 1575 of file dense_funcs.hpp.
dense<T, 3> arbb::swap_cols | ( | const dense< T, 3 > & | source, | |
const usize & | col1, | |||
const usize & | col2 | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the columns at col1
and col2
swapped.
Definition at line 1584 of file dense_funcs.hpp.
dense<T, 3> arbb::swap_pages | ( | const dense< T, 3 > & | source, | |
const usize & | page1, | |||
const usize & | page2 | |||
) | [inline] |
Returns a dense container with the same size and values as source
, but with the pages at page1
and page2
swapped.
Definition at line 1602 of file dense_funcs.hpp.
dense<T, 2> arbb::transpose | ( | const dense< T, 2 > & | source | ) | [inline] |
Returns a dense container R
such that R(i, j) = source(j, i)
.
Definition at line 1620 of file dense_funcs.hpp.
dense<T, 3> arbb::transpose | ( | const dense< T, 3 > & | source | ) | [inline] |
Returns a dense container R
such that R(i, j, k) = source(j, i, k)
.
Definition at line 1640 of file dense_funcs.hpp.
dense<T, 1> arbb::section | ( | const dense< T, 1 > & | source, | |
const usize & | first, | |||
const usize & | nelts, | |||
const usize & | stride = 1 | |||
) | [inline] |
Returns a dense container with a size of nelts
containing the elements obtained from source
starting at index first
incrementing by steps of stride
.
Definition at line 1661 of file dense_funcs.hpp.
dense<T, 2> arbb::section | ( | const dense< T, 2 > & | source, | |
const usize & | start_col, | |||
const usize & | ncols, | |||
const usize & | start_row, | |||
const usize & | nrows | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows}
containing the elements obtained from source
starting at index {start_col, start_row}
.
Definition at line 1680 of file dense_funcs.hpp.
dense<T, 2> arbb::section | ( | const dense< T, 2 > & | source, | |
const usize & | start_col, | |||
const usize & | ncols, | |||
const usize & | col_pitch, | |||
const usize & | start_row, | |||
const usize & | nrows, | |||
const usize & | row_pitch | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows}
containing the elements obtained from source
starting at index {start_col, start_row}
incrementing by steps of col_pitch
and row_pitch
in each dimension respectively.
Definition at line 1692 of file dense_funcs.hpp.
dense<T, 3> arbb::section | ( | const dense< T, 3 > & | source, | |
const usize & | start_col, | |||
const usize & | ncols, | |||
const usize & | start_row, | |||
const usize & | nrows, | |||
const usize & | start_page, | |||
const usize & | npages | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows, npages}
containing the elements obtained from source
starting at index {start_col, start_row, start_page}
.
Definition at line 1714 of file dense_funcs.hpp.
dense<T, 3> arbb::section | ( | const dense< T, 3 > & | source, | |
const usize & | start_col, | |||
const usize & | ncols, | |||
const usize & | col_pitch, | |||
const usize & | start_row, | |||
const usize & | nrows, | |||
const usize & | row_pitch, | |||
const usize & | start_page, | |||
const usize & | npages, | |||
const usize & | page_pitch | |||
) | [inline] |
Returns a dense container with a size of {ncols, nrows, npages}
containing the elements obtained from source
starting at index {start_col, start_row, start_page}
incrementing by steps of col_pitch
, row_pitch
and page_pitch
in each dimension, respectively.
Definition at line 1731 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::sort | ( | const dense< T, 1 > & | source, | |
dense< usize, 1 > & | rank, | |||
sort_direction | direction = sort_ascending | |||
) | [inline] |
Returns a copy of source
sorted in the given direction
, storing the location from which each element in the result vector was retrieved in the corresponding element of rank
.
Definition at line 1761 of file dense_funcs.hpp.
detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::sort | ( | const dense< T, 1 > & | source, | |
sort_direction | direction = sort_ascending | |||
) | [inline] |
Returns a copy of source
sorted in the given direction
.
Definition at line 1775 of file dense_funcs.hpp.
u64 arbb::wall_clock | ( | ) | [inline] |
Retrieves the current platform-specific time.
Definition at line 1787 of file dense_funcs.hpp.
dense<boolean, 1> arbb::mask | ( | const usize & | result_size, | |
const usize & | start, | |||
const usize & | true_count, | |||
const usize & | stride | |||
) | [inline] |
Returns a dense container with a size of result_size
, where true_count
elements are set to true
every stride
elements starting at index start
.
Definition at line 1799 of file dense_funcs.hpp.
dense<T, 2> arbb::reshape | ( | const dense< T, 1 > & | source, | |
const usize & | ncols, | |||
const usize & | nrows | |||
) | [inline] |
Returns a dense container of size {ncols, nrows}
, filled with values from source
in row-major order.
Definition at line 1813 of file dense_funcs.hpp.
dense<T, 2> arbb::reshape_as | ( | const dense< T, 1 > & | source, | |
const dense< U, 2 > & | shape | |||
) | [inline] |
Equivalent to reshape(source, shape.width(), shape.height())
.
Definition at line 1830 of file dense_funcs.hpp.
dense<T, 3> arbb::reshape | ( | const dense< T, 1 > & | source, | |
const usize & | ncols, | |||
const usize & | nrows, | |||
const usize & | npages | |||
) | [inline] |
Returns a dense container of size {ncols, nrows, npages}
, filled with values from source
in page-major, row-major order.
Definition at line 1839 of file dense_funcs.hpp.
dense<T, 3> arbb::reshape_as | ( | const dense< T, 1 > & | source, | |
const dense< U, 3 > & | shape | |||
) | [inline] |
Equivalent to reshape(source, shape.width(), shape.height(), shape.depth())
.
Definition at line 1856 of file dense_funcs.hpp.
dense<T> arbb::add_merge | ( | const dense< T, D > & | source, | |
const dense< isize > & | indices | |||
) | [inline] |
Returns a dense container with the same size as source
, where data from source
is scattered according to indices
, and collisions are resolved by adding values together.
Definition at line 1866 of file dense_funcs.hpp.
Copyright © 2010, Intel Corporation. All rights reserved.