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::shift_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (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_reverse (const dense< T, 2 > &source, const isize &distance, const T &value) |
Equivalent to shift_reverse(source, 0, distance, value). | |
| template<typename T > | |
| detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::shift_row_reverse (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift_reverse(source, 0, distance, svalue). | |
| template<typename T > | |
| dense< T, 2 > | arbb::shift_row_reverse (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift_reverse(source, 0, distance). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_row_reverse (const dense< T, 3 > &source, const isize &distance, const T &value) |
Equivalent to shift_reverse(source, 0, distance, 0, value). | |
| template<typename T > | |
| detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift_row_reverse (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift_reverse(source, 0, distance, 0, svalue). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_row_reverse (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_reverse(source, 0, distance, 0). | |
| template<typename T > | |
| dense< T, 2 > | arbb::shift_row_sticky_reverse (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift_sticky_reverse(source, 0, distance). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_row_sticky_reverse (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_sticky_reverse(source, 0, distance, 0). | |
| template<typename T > | |
| dense< T, 2 > | arbb::shift_col_reverse (const dense< T, 2 > &source, const isize &distance, const T &value) |
Equivalent to shift_reverse(source, distance, 0, value). | |
| template<typename T > | |
| detail::enable_if < detail::is_scalar< T > ::value, dense< T, 2 > >::type | arbb::shift_col_reverse (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift_reverse(source, distance, 0, svalue). | |
| template<typename T > | |
| dense< T, 2 > | arbb::shift_col_reverse (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift_reverse(source, distance, 0). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_col_reverse (const dense< T, 3 > &source, const isize &distance, const T &value) |
Equivalent to shift_reverse(source, distance, 0, 0, value). | |
| template<typename T > | |
| detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift_col_reverse (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift_reverse(source, distance, 0, 0, svalue). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_col_reverse (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_reverse(source, distance, 0, 0). | |
| template<typename T > | |
| dense< T, 2 > | arbb::shift_col_sticky_reverse (const dense< T, 2 > &source, const isize &distance) |
Equivalent to shift_sticky_reverse(source, distance, 0). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_col_sticky_reverse (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_sticky_reverse(source, distance, 0, 0). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_page_reverse (const dense< T, 3 > &source, const isize &distance, const T &value) |
Equivalent to shift_reverse(source, 0, 0, distance, value). | |
| template<typename T > | |
| detail::enable_if < detail::is_scalar< T > ::value, dense< T, 3 > >::type | arbb::shift_page_reverse (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue) |
Equivalent to shift_reverse(source, 0, 0, distance, svalue). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_page_reverse (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_reverse(source, 0, 0, distance). | |
| template<typename T > | |
| dense< T, 3 > | arbb::shift_page_sticky_reverse (const dense< T, 3 > &source, const isize &distance) |
Equivalent to shift_sticky_reverse(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 > | |
| dense< T, 1 > | arbb::rotate_reverse (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_reverse (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_reverse (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) |
Returns a dense container with the elements from source drawn in order, according to mask. | |
| 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) |
Returns a dense container with the elements from source drawn in order, according to mask. | |
| template<typename T > | |
| dense< T, 1 > | arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask) |
Returns a dense container with the elements from source drawn in order, according to mask. | |
| 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 (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, 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, start_page} replaced by the elements in values. | |
| template<typename T > | |
| dense< T, 3 > | arbb::replace (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, const dense< T, 3 > &values) |
Returns a dense container with the same size and values as source, but with the elements starting at index {start_col, start_row,start_page} moving in increments of {col_pitch, row_pitch,page_pitch} replaced by the elements in values. | |
| 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. | |
| 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 , typename U > | |
| detail::enable_if < detail::is_scalar_unsigned_int < U >::value, dense< T > >::type | arbb::add_merge (const dense< T > &source, const dense< U > &indices, const usize &length) |
Returns a dense container of the given length, where data from source is scattered into the indices, with collisions resolved by adding all contributing source elements, and result elements set to 0 unless otherwise initialized. | |
| template<typename T , typename U > | |
| detail::enable_if < detail::is_scalar_unsigned_int < U >::value, dense< T > >::type | arbb::add_merge (const T &source, const dense< U > &indices, const usize &length) |
Returns a dense container of the given length, where the source value is scattered into the indices, with collisions resolved by adding all contributing instances of the source, and result elements set to 0 unless otherwise initialized. | |
| enum arbb::sort_direction |
The set of directions in which the arbb::sort() function can apply.
| sort_ascending |
Sort in ascending order, from smallest to largest. |
| sort_descending |
Sort in descending order, from largest to smallest. |
Definition at line 2408 of file dense_funcs.hpp.
| 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.
Positive values of distance result in a shift to the left.
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 | |||
| ) |
Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with svalue.
Positive values of distance result in a shift to the left.
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 77 of file dense_funcs.hpp.
| 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.
Positive values of distance result in a shift to the left.
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 97 of file dense_funcs.hpp.
| 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.
Positive values of distance result in a shift to the left.
The returned container R is defined as:
Definition at line 116 of file dense_funcs.hpp.
| 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.
Positive values of {ncol, nrow} shift the data towards lower indices. For example, a value of 4 for ncol shifts the values in row 4 into row 0.
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 144 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 | |||
| ) |
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.
Positive values of {ncol, nrow} shift the data towards lower indices. For example, a value of 4 for ncol shifts the values in row 4 into row 0.
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 173 of file dense_funcs.hpp.
| 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.
Positive values of {ncol, nrow} shift the data towards lower indices. For example, a value of 4 for ncol shifts the values in row 4 into row 0.
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 194 of file dense_funcs.hpp.
| 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.
Positive values of {ncol, nrow} shift the data towards lower indices. For example, a value of 4 for ncol shifts the values in row 4 into row 0.
The returned container R is defined as:
Definition at line 214 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 | |||
| ) |
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.
Positive values of {ncol, nrow, npage} shift the data towards lower indices. For example, a value of 3 for npage shifts values on page 3 of the container onto page 0.
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 243 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 | |||
| ) |
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.
Positive values of {ncol, nrow, npage} shift the data towards lower indices. For example, a value of 3 for npage shifts values on page 3 of the container onto page 0.
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 273 of file dense_funcs.hpp.
| 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.
Positive values of {ncol, nrow, npage} shift the data towards lower indices. For example, a value of 3 for npage shifts values on page 3 of the container onto page 0.
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 295 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 | |||
| ) |
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.
Positive values of {ncol, nrow, npage} shift the data towards lower indices. For example, a value of 3 for npage shifts values on page 3 of the container onto page 0.
The returned container R is defined as:
Definition at line 316 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_row | ( | const dense< T, 2 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift(source, 0, distance, value).
Definition at line 333 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 | |||
| ) |
Equivalent to shift(source, 0, distance, svalue).
Definition at line 341 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_row | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift(source, 0, distance).
Definition at line 351 of file dense_funcs.hpp.
| 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).
Definition at line 361 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 | |||
| ) |
Equivalent to shift(source, 0, distance, 0, svalue).
Definition at line 369 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_row | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift(source, 0, distance, 0).
Definition at line 379 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_row_sticky | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky(source, 0, distance).
Definition at line 389 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_row_sticky | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky(source, 0, distance, 0).
Definition at line 397 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_col | ( | const dense< T, 2 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift(source, distance, 0, value).
Definition at line 405 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 | |||
| ) |
Equivalent to shift(source, distance, 0, svalue).
Definition at line 413 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_col | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift(source, distance, 0).
Definition at line 423 of file dense_funcs.hpp.
| 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).
Definition at line 433 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 | |||
| ) |
Equivalent to shift(source, distance, 0, 0, svalue).
Definition at line 441 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_col | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift(source, distance, 0, 0).
Definition at line 451 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_col_sticky | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky(source, distance, 0).
Definition at line 461 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_col_sticky | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky(source, distance, 0, 0).
Definition at line 469 of file dense_funcs.hpp.
| 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).
Definition at line 477 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 | |||
| ) |
Equivalent to shift(source, 0, 0, distance, svalue).
Definition at line 485 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_page | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift(source, 0, 0, distance).
Definition at line 495 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_page_sticky | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky(source, 0, 0, distance).
Definition at line 505 of file dense_funcs.hpp.
| dense<T, 1> arbb::shift_reverse | ( | 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.
Positive values of distance result in a shift to the right.
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 523 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 1> >::type arbb::shift_reverse | ( | 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.
Positive values of distance result in a shift to the right.
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 551 of file dense_funcs.hpp.
| dense<T, 1> arbb::shift_reverse | ( | 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.
Positive values of distance result in a shift to the right.
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 571 of file dense_funcs.hpp.
| dense<T, 1> arbb::shift_sticky_reverse | ( | 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.
Positive values of distance result in a shift to the right.
The returned container R is defined as:
Definition at line 590 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_reverse | ( | 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.
Positive values of {ncol, nrow} shift the data towards higher indices. For example, a value of 4 for ncol shifts the values in row 0 into row 4.
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 618 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::shift_reverse | ( | 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.
Positive values of {ncol, nrow} shift the data towards higher indices. For example, a value of 4 for ncol shifts the values in row 0 into row 4.
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 647 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_reverse | ( | 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.
Positive values of {ncol, nrow} shift the data towards higher indices. For example, a value of 4 for ncol shifts the values in row 0 into row 4.
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 668 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_sticky_reverse | ( | 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.
Positive values of {ncol, nrow} shift the data towards higher indices. For example, a value of 4 for ncol shifts the values in row 0 into row 4.
The returned container R is defined as:
Definition at line 688 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_reverse | ( | 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.
Positive values of {ncol, nrow, npage} shift the data towards higher indices. For example, a value of 3 for npage shifts values on page 0 of the container onto page 3.
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 717 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_reverse | ( | 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.
Positive values of {ncol, nrow, npage} shift the data towards higher indices. For example, a value of 3 for npage shifts values on page 0 of the container onto page 3.
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 747 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_reverse | ( | 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.
Positive values of {ncol, nrow, npage} shift the data towards higher indices. For example, a value of 3 for npage shifts values on page 0 of the container onto page 3.
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 769 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_sticky_reverse | ( | 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.
Positive values of {ncol, nrow, npage} shift the data towards higher indices. For example, a value of 3 for npage shifts values on page 0 of the container onto page 3.
The returned container R is defined as:
Definition at line 790 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_row_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift_reverse(source, 0, distance, value).
Definition at line 807 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::shift_row_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance, | |||
| const typename uncaptured< T >::type & | svalue | |||
| ) |
Equivalent to shift_reverse(source, 0, distance, svalue).
Definition at line 815 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_row_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_reverse(source, 0, distance).
Definition at line 825 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_row_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift_reverse(source, 0, distance, 0, value).
Definition at line 835 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_row_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance, | |||
| const typename uncaptured< T >::type & | svalue | |||
| ) |
Equivalent to shift_reverse(source, 0, distance, 0, svalue).
Definition at line 843 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_row_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_reverse(source, 0, distance, 0).
Definition at line 853 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_row_sticky_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky_reverse(source, 0, distance).
Definition at line 863 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_row_sticky_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky_reverse(source, 0, distance, 0).
Definition at line 871 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_col_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift_reverse(source, distance, 0, value).
Definition at line 879 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 2> >::type arbb::shift_col_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance, | |||
| const typename uncaptured< T >::type & | svalue | |||
| ) |
Equivalent to shift_reverse(source, distance, 0, svalue).
Definition at line 887 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_col_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_reverse(source, distance, 0).
Definition at line 897 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_col_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift_reverse(source, distance, 0, 0, value).
Definition at line 907 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_col_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance, | |||
| const typename uncaptured< T >::type & | svalue | |||
| ) |
Equivalent to shift_reverse(source, distance, 0, 0, svalue).
Definition at line 915 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_col_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_reverse(source, distance, 0, 0).
Definition at line 925 of file dense_funcs.hpp.
| dense<T, 2> arbb::shift_col_sticky_reverse | ( | const dense< T, 2 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky_reverse(source, distance, 0).
Definition at line 935 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_col_sticky_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky_reverse(source, distance, 0, 0).
Definition at line 943 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_page_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance, | |||
| const T & | value | |||
| ) |
Equivalent to shift_reverse(source, 0, 0, distance, value).
Definition at line 951 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar<T>::value, dense<T, 3> >::type arbb::shift_page_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance, | |||
| const typename uncaptured< T >::type & | svalue | |||
| ) |
Equivalent to shift_reverse(source, 0, 0, distance, svalue).
Definition at line 959 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_page_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_reverse(source, 0, 0, distance).
Definition at line 969 of file dense_funcs.hpp.
| dense<T, 3> arbb::shift_page_sticky_reverse | ( | const dense< T, 3 > & | source, | |
| const isize & | distance | |||
| ) |
Equivalent to shift_sticky_reverse(source, 0, 0, distance).
Definition at line 979 of file dense_funcs.hpp.
| 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.
Positive values of distance shift the data to the left.
The returned container R is defined as:
R[i] = source[(i + distance) % source.size() + (i + distance < 0 ? source.size() : 0)];
Definition at line 996 of file dense_funcs.hpp.
| 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.
Positive values of {ncol, nrow} shift the data towards lower indices. For example, a value of 4 for ncol shifts the values in row 4 into row 0.
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 1023 of file dense_funcs.hpp.
| 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.
Positive values of {ncol, nrow, npage} shift the data towards lower indices. For example, a value of 3 for npage shifts values on page 3 of the container onto page 0.
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 1051 of file dense_funcs.hpp.
| dense<T, 1> arbb::rotate_reverse | ( | 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.
Positive values of distance shift the data to the right.
The returned container R is defined as:
R[i] = source[(i - distance) % source.size() + (i - distance < 0 ? source.size() : 0)];
Definition at line 1077 of file dense_funcs.hpp.
| dense<T, 2> arbb::rotate_reverse | ( | 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.
Positive values of {ncol, nrow} shift the data towards higher indices. For example, a value of 4 for ncol shifts the values in row 0 into row 4. 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 1105 of file dense_funcs.hpp.
| dense<T, 3> arbb::rotate_reverse | ( | 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.
Positive values of {ncol, nrow, npage} shift the data towards higher indices. For example, a value of 3 for npage shifts values on page 0 of the container onto page 3.
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 1133 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 | |||
| ) |
Returns a dense container of size length filled with value.
Definition at line 1185 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 | |||
| ) |
Returns a dense container of size {width, height} filled with value.
Definition at line 1194 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 | |||
| ) |
Returns a dense container of size {width, height, depth} filled with value.
Definition at line 1203 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 | |||
| ) |
Returns a one-dimensional dense container of size size filled with value.
Definition at line 1239 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 | |||
| ) |
Returns a two-dimensional dense container of size size filled with value.
Definition at line 1248 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 | |||
| ) |
Returns a three-dimensional dense container of size size filled with value.
Definition at line 1257 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 | |||
| ) |
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 1268 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 | |||
| ) |
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 1288 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 | |||
| ) |
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 1298 of file dense_funcs.hpp.
| 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.
Definition at line 1310 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 | |||
| ) |
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 1323 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 | |||
| ) |
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 1346 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 | |||
| ) |
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 1358 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 | |||
| ) |
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 1372 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 | |||
| ) |
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 1386 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 | |||
| ) |
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 1411 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 | |||
| ) |
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 1424 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 | |||
| ) |
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 1439 of file dense_funcs.hpp.
| dense<T, 1> arbb::unpack | ( | const dense< T, 1 > & | source, | |
| const dense< boolean, 1 > & | mask, | |||
| const T & | value | |||
| ) |
Returns a dense container with the elements from source drawn in order, according to mask.
For the elements in mask that are true, the elements from source are used. For the elements in mask that are false, value is used.
| source | Source container to draw elements from. | |
| mask | Locations to place elements from source in the output container. | |
| value | The value to use for false elements in mask. |
Definition at line 1457 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 | |||
| ) |
Returns a dense container with the elements from source drawn in order, according to mask.
For the elements in mask that are true, the elements from source are used. For the elements in mask that are false, svalue is used.
| source | Source container to draw elements from. | |
| mask | Locations to place elements from source in the output container. | |
| svalue | The value to use for false elements in mask. |
Definition at line 1482 of file dense_funcs.hpp.
| dense<T, 1> arbb::unpack | ( | const dense< T, 1 > & | source, | |
| const dense< boolean, 1 > & | mask | |||
| ) |
Returns a dense container with the elements from source drawn in order, according to mask.
For the elements in mask that are true, the elements from source are used. For the elements in mask that are false, the default value for the type of the source container is used.
| source | Source container to draw elements from. | |
| mask | Locations to place elements from source in the output container. |
Definition at line 1499 of file dense_funcs.hpp.
| 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.
Definition at line 1511 of file dense_funcs.hpp.
| dense<T, 1> arbb::repeat | ( | const dense< T, 1 > & | source, | |
| const usize & | times, | |||
| bool | collate = true | |||
| ) |
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 1531 of file dense_funcs.hpp.
| dense<T, 1> arbb::repeat | ( | const dense< T, 1 > & | source, | |
| const dense< usize, 1 > & | times | |||
| ) |
Returns a dense container with each element from source replicated a number of times equal to the corresponding element of times.
Definition at line 1552 of file dense_funcs.hpp.
| 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.
Definition at line 1572 of file dense_funcs.hpp.
| 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.
Definition at line 1590 of file dense_funcs.hpp.
| 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.
Definition at line 1608 of file dense_funcs.hpp.
| 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.
Definition at line 1626 of file dense_funcs.hpp.
| 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.
Definition at line 1647 of file dense_funcs.hpp.
| 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.
Definition at line 1666 of file dense_funcs.hpp.
| 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.
Definition at line 1685 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 | |||
| ) |
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 1706 of file dense_funcs.hpp.
| 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().
Definition at line 1718 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 | |||
| ) |
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 1730 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 | |||
| ) |
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 1753 of file dense_funcs.hpp.
| 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().
Definition at line 1765 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 | |||
| ) |
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 1777 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 | |||
| ) |
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 1801 of file dense_funcs.hpp.
| 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().
Definition at line 1813 of file dense_funcs.hpp.
| dense<T, 1> arbb::cat | ( | const dense< T, 1 > & | source1, | |
| const dense< T, 1 > & | source2 | |||
| ) |
Returns the concatenation of source1 followed by source2.
Definition at line 1823 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 | |||
| ) |
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 1843 of file dense_funcs.hpp.
| 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.
Definition at line 1880 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 | |||
| ) |
Returns a dense container with the same size and values as source, but with the element at index replaced by svalue.
Definition at line 1899 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 | |||
| ) |
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 1911 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 | |||
| ) |
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 1922 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 | |||
| ) |
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 1935 of file dense_funcs.hpp.
| 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.
Definition at line 1955 of file dense_funcs.hpp.
| 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.
Definition at line 1975 of file dense_funcs.hpp.
| 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.
Definition at line 1995 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 | |||
| ) |
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 2015 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 | |||
| ) |
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 2027 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 | |||
| ) |
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 2040 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 | |||
| ) |
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 2066 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 | |||
| ) |
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 2086 of file dense_funcs.hpp.
| dense<T, 3> arbb::replace | ( | 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, | |||
| 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, start_page} replaced by the elements in values.
Definition at line 2098 of file dense_funcs.hpp.
| dense<T, 3> arbb::replace | ( | 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, | |||
| const dense< T, 3 > & | values | |||
| ) |
Returns a dense container with the same size and values as source, but with the elements starting at index {start_col, start_row,start_page} moving in increments of {col_pitch, row_pitch,page_pitch} replaced by the elements in values.
Definition at line 2116 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 | |||
| ) |
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 2144 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 | |||
| ) |
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 2154 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 | |||
| ) |
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 2164 of file dense_funcs.hpp.
| 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.
Definition at line 2177 of file dense_funcs.hpp.
| 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.
Definition at line 2196 of file dense_funcs.hpp.
| 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.
Definition at line 2214 of file dense_funcs.hpp.
| 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.
Definition at line 2232 of file dense_funcs.hpp.
| 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.
Definition at line 2241 of file dense_funcs.hpp.
| 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.
Definition at line 2259 of file dense_funcs.hpp.
| dense<T, 2> arbb::transpose | ( | const dense< T, 2 > & | source | ) |
Returns a dense container R such that R(i, j) = source(j, i).
Definition at line 2277 of file dense_funcs.hpp.
| 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).
Definition at line 2297 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 | |||
| ) |
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 2318 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 | |||
| ) |
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 2337 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 | |||
| ) |
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 2349 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 | |||
| ) |
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 2371 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 | |||
| ) |
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 2388 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 | |||
| ) |
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 2418 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 | |||
| ) |
Returns a copy of source sorted in the given direction.
Definition at line 2432 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 2446 of file dense_funcs.hpp.
| 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.
Definition at line 2460 of file dense_funcs.hpp.
| dense<T, 2> arbb::reshape_as | ( | const dense< T, 1 > & | source, | |
| const dense< U, 2 > & | shape | |||
| ) |
Equivalent to reshape(source, shape.width(), shape.height()).
Definition at line 2477 of file dense_funcs.hpp.
| 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.
Definition at line 2486 of file dense_funcs.hpp.
| 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()).
Definition at line 2503 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar_unsigned_int<U>::value, dense<T> >::type arbb::add_merge | ( | const dense< T > & | source, | |
| const dense< U > & | indices, | |||
| const usize & | length | |||
| ) |
Returns a dense container of the given length, where data from source is scattered into the indices, with collisions resolved by adding all contributing source elements, and result elements set to 0 unless otherwise initialized.
Definition at line 2514 of file dense_funcs.hpp.
| detail::enable_if<detail::is_scalar_unsigned_int<U>::value, dense<T> >::type arbb::add_merge | ( | const T & | source, | |
| const dense< U > & | indices, | |||
| const usize & | length | |||
| ) |
Returns a dense container of the given length, where the source value is scattered into the indices, with collisions resolved by adding all contributing instances of the source, and result elements set to 0 unless otherwise initialized.
Definition at line 2537 of file dense_funcs.hpp.
Copyright © 2010-2011, Intel Corporation. All rights reserved.