dense_funcs.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  arbb
 

The Intel(R) ArBB C++ frontend namespace.


Enumerations

enum  arbb::sort_direction { arbb::sort_ascending = 0, arbb::sort_descending = 1 }
 

The set of directions in which the arbb::sort() function can apply.

More...

Functions

template<typename T >
dense< T, 1 > arbb::shift (const dense< T, 1 > &source, const isize &distance, const T &value)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::shift (const dense< T, 1 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with svalue.
template<typename T >
dense< T, 1 > arbb::shift (const dense< T, 1 > &source, const isize &distance)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses replaced with default values.
template<typename T >
dense< T, 1 > arbb::shift_sticky (const dense< T, 1 > &source, const isize &distance)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses clamped to be within bounds.
template<typename T >
dense< T, 2 > arbb::shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow, const T &value)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
arbb::shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow, const typename uncaptured< T >::type &svalue)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with svalue.
template<typename T >
dense< T, 2 > arbb::shift (const dense< T, 2 > &source, const isize &ncol, const isize &nrow)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses replaced with default values.
template<typename T >
dense< T, 2 > arbb::shift_sticky (const dense< T, 2 > &source, const isize &ncol, const isize &nrow)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses clamped to be within bounds.
template<typename T >
dense< T, 3 > arbb::shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage, const T &value)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage, const typename uncaptured< T >::type &svalue)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with svalue.
template<typename T >
dense< T, 3 > arbb::shift (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses replaced with default values.
template<typename T >
dense< T, 3 > arbb::shift_sticky (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses clamped to be within bounds.
template<typename T >
dense< T, 2 > arbb::shift_row (const dense< T, 2 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, 0, distance, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
arbb::shift_row (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, 0, distance, svalue).
template<typename T >
dense< T, 2 > arbb::shift_row (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift(source, 0, distance).
template<typename T >
dense< T, 3 > arbb::shift_row (const dense< T, 3 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, 0, distance, 0, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::shift_row (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, 0, distance, 0, svalue).
template<typename T >
dense< T, 3 > arbb::shift_row (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift(source, 0, distance, 0).
template<typename T >
dense< T, 2 > arbb::shift_row_sticky (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift_sticky(source, 0, distance).
template<typename T >
dense< T, 3 > arbb::shift_row_sticky (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift_sticky(source, 0, distance, 0).
template<typename T >
dense< T, 2 > arbb::shift_col (const dense< T, 2 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, distance, 0, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
arbb::shift_col (const dense< T, 2 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, distance, 0, svalue).
template<typename T >
dense< T, 2 > arbb::shift_col (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift(source, distance, 0).
template<typename T >
dense< T, 3 > arbb::shift_col (const dense< T, 3 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, distance, 0, 0, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::shift_col (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, distance, 0, 0, svalue).
template<typename T >
dense< T, 3 > arbb::shift_col (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift(source, distance, 0, 0).
template<typename T >
dense< T, 2 > arbb::shift_col_sticky (const dense< T, 2 > &source, const isize &distance)
 Equivalent to shift_sticky(source, distance, 0).
template<typename T >
dense< T, 3 > arbb::shift_col_sticky (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift_sticky(source, distance, 0, 0).
template<typename T >
dense< T, 3 > arbb::shift_page (const dense< T, 3 > &source, const isize &distance, const T &value)
 Equivalent to shift(source, 0, 0, distance, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::shift_page (const dense< T, 3 > &source, const isize &distance, const typename uncaptured< T >::type &svalue)
 Equivalent to shift(source, 0, 0, distance, svalue).
template<typename T >
dense< T, 3 > arbb::shift_page (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift(source, 0, 0, distance).
template<typename T >
dense< T, 3 > arbb::shift_page_sticky (const dense< T, 3 > &source, const isize &distance)
 Equivalent to shift_sticky(source, 0, 0, distance).
template<typename T >
dense< T, 1 > arbb::rotate (const dense< T, 1 > &source, const isize &distance)
 Returns a dense container of the same size as source with all values shifted by distance and out-of-bounds accesses wrapped to be within bounds.
template<typename T >
dense< T, 2 > arbb::rotate (const dense< T, 2 > &source, const isize &ncol, const isize &nrow)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow} and out-of-bounds accesses wrapped to be within bounds.
template<typename T >
dense< T, 3 > arbb::rotate (const dense< T, 3 > &source, const isize &ncol, const isize &nrow, const isize &npage)
 Returns a dense container of the same size as source with all values shifted by {ncol, nrow, npage} and out-of-bounds accesses wrapped to be within bounds.
template<typename T >
detail::disable_if
< detail::is_uncaptured_scalar
< T >::value, dense< T, 1 >
>::type 
arbb::fill (const T &value, const usize &length)
 Returns a dense container of size length filled with value.
template<typename T >
detail::disable_if
< detail::is_uncaptured_scalar
< T >::value, dense< T, 2 >
>::type 
arbb::fill (const T &value, const usize &width, const usize &height)
 Returns a dense container of size {width, height} filled with value.
template<typename T >
detail::disable_if
< detail::is_uncaptured_scalar
< T >::value, dense< T, 3 >
>::type 
arbb::fill (const T &value, const usize &width, const usize &height, const usize &depth)
 Returns a dense container of size {width, height, depth} filled with value.
template<typename T >
detail::enable_if
< detail::is_uncaptured_scalar
< T >::value, dense< typename
captured< T >::type, 1 >
>::type 
arbb::fill (const T &value, const array< usize, 1 > &size)
 Returns a one-dimensional dense container of size size filled with value.
template<typename T >
detail::enable_if
< detail::is_uncaptured_scalar
< T >::value, dense< typename
captured< T >::type, 2 >
>::type 
arbb::fill (const T &value, const array< usize, 2 > &size)
 Returns a two-dimensional dense container of size size filled with value.
template<typename T >
detail::enable_if
< detail::is_uncaptured_scalar
< T >::value, dense< typename
captured< T >::type, 3 >
>::type 
arbb::fill (const T &value, const array< usize, 3 > &size)
 Returns a three-dimensional dense container of size size filled with value.
template<typename T >
dense< T, 1 > arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const dense< T, 1 > &defaults)
 Returns a dense container with the same size as defaults, data from source scattered into the locations in index, and elements set to the corresponding elements in defaults if not otherwise initialized.
template<typename T >
dense< T, 1 > arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length, const T &value)
 Returns a dense container with a size of sparse_length, data from source scattered into the locations in index, and elements set to value if not otherwise initialized.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length, const typename uncaptured< T >::type &svalue)
 Returns a dense container with a size of sparse_length, data from source scattered into the locations in index, and elements set to svalue if not otherwise initialized.
template<typename T >
dense< T, 1 > arbb::scatter (const dense< T, 1 > &source, const dense< usize, 1 > &index, const usize &sparse_length)
 Returns a dense container with a size of sparse_length, data from source scattered into the locations in index, and elements set to T(), unless initialized otherwise.
template<typename T >
dense< T, 2 > arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const dense< T, 2 > &defaults)
 Returns a dense container with the same size as defaults, data from source scattered into the locations in index, and elements set to the corresponding elements in defaults if not otherwise initialized.
template<typename T >
dense< T, 2 > arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows, const T &value)
 Returns a dense container with a size of {ncols, nrows}, data from source scattered into the locations in index, and elements set to value, unless initialized otherwise.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows, const typename uncaptured< T >::type &svalue)
 Returns a dense container with a size of {ncols, nrows}, data from source scattered into the locations in index, and elements set to svalue, unless initialized otherwise.
template<typename T >
dense< T, 2 > arbb::scatter (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const usize &ncols, const usize &nrows)
 Returns a dense container with a size of {ncols, nrows}, data from source scattered into the locations in index, and elements set to T(), unless initialized otherwise.
template<typename T >
dense< T, 3 > arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const dense< T, 3 > &defaults)
 Returns a dense container with the same size as defaults, data from source scattered into the locations in index, and elements set to the corresponding elements in defaults, unless initialized otherwise.
template<typename T >
dense< T, 3 > arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages, const T &value)
 Returns a dense container with a size of {ncols, nrows, npage}, data from source scattered into the locations in index, and elements set to value, unless initialized otherwise.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages, const typename uncaptured< T >::type &svalue)
 Returns a dense container with a size of {ncols, nrows, npage}, data from source scattered into the locations in index, and elements set to svalue, unless initialized otherwise.
template<typename T >
dense< T, 3 > arbb::scatter (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const usize &ncols, const usize &nrows, const usize &npages)
 Returns a dense container with a size of {ncols, nrows, npage}, data from source scattered into the locations in index, and elements set to T(), unless initialized otherwise.
template<typename T >
dense< T, 1 > arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask, const T &value)
 Equivalent to select(mask, source, value).
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask, const typename uncaptured< T >::type &svalue)
 Equivalent to select(mask, source, svalue).
template<typename T >
dense< T, 1 > arbb::unpack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask)
 Equivalent to select(mask, source, T()).
template<typename T >
dense< T, 1 > arbb::pack (const dense< T, 1 > &source, const dense< boolean, 1 > &mask)
 Returns a dense container containing all elements from source whose corresponding entry in mask is true, in order.
template<typename T >
dense< T, 1 > arbb::repeat (const dense< T, 1 > &source, const usize &times, 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 > &times)
 Returns a dense container with each element from source replicated a number of times equal to the corresponding element of times.
template<typename T >
dense< T, 2 > arbb::repeat_row (const dense< T, 1 > &source, const usize &nrows)
 Returns a two-dimensional dense container with nrows rows, where each row contains a copy of source.
template<typename T >
dense< T, 2 > arbb::repeat_col (const dense< T, 1 > &source, const usize &ncols)
 Returns a two-dimensional dense container with ncols columns, where each column contains a copy of source.
template<typename T >
dense< T, 3 > arbb::repeat_page (const dense< T, 2 > &source, const usize &npages)
 Returns a three-dimensional dense container with npages pages, where each page contains a copy of source.
template<typename T >
dense< T, 1 > arbb::shuffle (const dense< T, 1 > &source1, const dense< T, 1 > &source2, const usize &grain)
 Returns a dense container with grain elements alternately drawn from source1 and source2.
template<typename T >
dense< T, 1 > arbb::unshuffle (const dense< T, 1 > &source, const usize &grain)
 Partitions source into two containers, each having an alternating grain elements from source, and returns the two containers concatenated in order.
template<typename T >
dense< T, 1 > arbb::reverse (const dense< T, 1 > &source)
 Returns a dense container with the same size as source containing the elements of source in the reverse order.
template<typename T >
dense< T, 1 > arbb::gather (const dense< T, 1 > &source, const dense< usize, 1 > &index, const T &value)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::gather (const dense< T, 1 > &source, const dense< usize, 1 > &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to svalue.
template<typename T >
dense< T, 1 > arbb::gather (const dense< T, 1 > &source, const dense< usize, 1 > &index)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to T().
template<typename T >
dense< T, 2 > arbb::gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const T &value)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
arbb::gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to svalue.
template<typename T >
dense< T, 2 > arbb::gather (const dense< T, 2 > &source, const dense< array< usize, 2 >, 2 > &index)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to T().
template<typename T >
dense< T, 3 > arbb::gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const T &value)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to svalue.
template<typename T >
dense< T, 3 > arbb::gather (const dense< T, 3 > &source, const dense< array< usize, 3 >, 3 > &index)
 Returns a dense container R with the same size as index such that R[i] = source[index[i]], with any elements at out-of-bounds indices set to T().
template<typename T >
dense< T, 1 > arbb::cat (const dense< T, 1 > &source1, const dense< T, 1 > &source2)
 Returns the concatenation of source1 followed by source2.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::indices (const T &start, const usize &nelts, const T &stride)
 Returns a dense container with a size of nelts containing an increasing sequence of values beginning with start and incrementing by stride between elements.
template<typename T >
dense< T, 1 > arbb::replace (const dense< T, 1 > &source, const usize &index, const T &value)
 Returns a dense container with the same size and values as source, but with the element at index replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::replace (const dense< T, 1 > &source, const usize &index, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with the element at index replaced by svalue.
template<typename T >
dense< T, 1 > arbb::replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const T &value)
 Returns a dense container with the same size and values as source, but with nelts elements beginning at start and incrementing by stride replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with nelts elements beginning at start and incrementing by stride replaced by svalue.
template<typename T >
dense< T, 1 > arbb::replace (const dense< T, 1 > &source, const usize &start, const usize &nelts, const usize &stride, const dense< T, 1 > &value)
 Returns a dense container with the same size and values as source, but with nelts elements beginning at start and incrementing by stride replaced by elements from value, which must be nelts in size.
template<typename T >
dense< T, 2 > arbb::replace_row (const dense< T, 2 > &source, const usize &row, const dense< T, 1 > &value)
 Returns a dense container with the same size and values as source, but with the row at index row replaced by elements from value.
template<typename T >
dense< T, 2 > arbb::replace_col (const dense< T, 2 > &source, const usize &col, const dense< T, 1 > &value)
 Returns a dense container with the same size and values as source, but with the column at index col replaced by elements from value.
template<typename T >
dense< T, 2 > arbb::replace (const dense< T, 2 > &source, const usize &col, const usize &row, const T &value)
 Returns a dense container with the same size and values as source, but with the element at index {col, row} replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 2 > >::type 
arbb::replace (const dense< T, 2 > &source, const usize &col, const usize &row, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with the element at index {col, row} replaced by svalue.
template<typename T >
dense< T, 2 > arbb::replace (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows, const dense< T, 2 > &values)
 Returns a dense container with the same size and values as source, but with the elements starting at index {start_col, start_row} replaced by the elements in values.
template<typename T >
dense< T, 2 > arbb::replace (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch, const dense< T, 2 > &values)
 Returns a dense container with the same size and values as source, but with the elements starting at index {start_col, start_row} moving in increments of {col_pitch, row_pitch} replaced by the elements in values.
template<typename T >
dense< T, 3 > arbb::replace (const dense< T, 3 > &source, const usize &col, const usize &row, const usize &page, const T &value)
 Returns a dense container with the same size and values as source, but with the element at index {col, row, page} replaced by value.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 3 > >::type 
arbb::replace (const dense< T, 3 > &source, const usize &col, const usize &row, const usize &page, const typename uncaptured< T >::type &svalue)
 Returns a dense container with the same size and values as source, but with the element at index {col, row, page} replaced by svalue.
template<typename T >
dense< T, 3 > arbb::replace_row (const dense< T, 3 > &source, const usize &row, const usize &page, const dense< T, 1 > &values)
 Returns a dense container with the same size and values as source, but with the row at index row in the page at index page replaced by values.
template<typename T >
dense< T, 3 > arbb::replace_col (const dense< T, 3 > &source, const usize &col, const usize &page, const dense< T, 1 > &values)
 Returns a dense container with the same size and values as source, but with the column at index column in the page at index page replaced by values.
template<typename T >
dense< T, 3 > arbb::replace_dim3 (const dense< T, 3 > &source, const usize &col, const usize &row, const dense< T, 1 > &values)
 Returns a dense container with the same size and values as source, but with the pillar at column col and row row replaced by values.
template<typename T >
dense< T, 3 > arbb::replace_page (const dense< T, 3 > &source, const usize &page, const dense< T, 2 > &value)
 Returns a dense container with the same size and values as source, but with the page at index page replaced by value.
template<typename T >
dense< T, 2 > arbb::swap_rows (const dense< T, 2 > &source, const usize &row1, const usize &row2)
 Returns a dense container with the same size and values as source, but with the rows at row1 and row2 swapped.
template<typename T >
dense< T, 3 > arbb::swap_rows (const dense< T, 3 > &source, const usize &row1, const usize &row2)
 Returns a dense container with the same size and values as source, but with the rows at row1 and row2 swapped.
template<typename T >
dense< T, 2 > arbb::swap_cols (const dense< T, 2 > &source, const usize &col1, const usize &col2)
 Returns a dense container with the same size and values as source, but with the columns at col1 and col2 swapped.
template<typename T >
dense< T, 3 > arbb::swap_cols (const dense< T, 3 > &source, const usize &col1, const usize &col2)
 Returns a dense container with the same size and values as source, but with the columns at col1 and col2 swapped.
template<typename T >
dense< T, 3 > arbb::swap_pages (const dense< T, 3 > &source, const usize &page1, const usize &page2)
 Returns a dense container with the same size and values as source, but with the pages at page1 and page2 swapped.
template<typename T >
dense< T, 2 > arbb::transpose (const dense< T, 2 > &source)
 Returns a dense container R such that R(i, j) = source(j, i).
template<typename T >
dense< T, 3 > arbb::transpose (const dense< T, 3 > &source)
 Returns a dense container R such that R(i, j, k) = source(j, i, k).
template<typename T >
dense< T, 1 > arbb::section (const dense< T, 1 > &source, const usize &first, const usize &nelts, const usize &stride=1)
 Returns a dense container with a size of nelts containing the elements obtained from source starting at index first incrementing by steps of stride.
template<typename T >
dense< T, 2 > arbb::section (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows)
 Returns a dense container with a size of {ncols, nrows} containing the elements obtained from source starting at index {start_col, start_row}.
template<typename T >
dense< T, 2 > arbb::section (const dense< T, 2 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch)
 Returns a dense container with a size of {ncols, nrows} containing the elements obtained from source starting at index {start_col, start_row} incrementing by steps of col_pitch and row_pitch in each dimension respectively.
template<typename T >
dense< T, 3 > arbb::section (const dense< T, 3 > &source, const usize &start_col, const usize &ncols, const usize &start_row, const usize &nrows, const usize &start_page, const usize &npages)
 Returns a dense container with a size of {ncols, nrows, npages} containing the elements obtained from source starting at index {start_col, start_row, start_page}.
template<typename T >
dense< T, 3 > arbb::section (const dense< T, 3 > &source, const usize &start_col, const usize &ncols, const usize &col_pitch, const usize &start_row, const usize &nrows, const usize &row_pitch, const usize &start_page, const usize &npages, const usize &page_pitch)
 Returns a dense container with a size of {ncols, nrows, npages} containing the elements obtained from source starting at index {start_col, start_row, start_page} incrementing by steps of col_pitch, row_pitch and page_pitch in each dimension, respectively.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::sort (const dense< T, 1 > &source, dense< usize, 1 > &rank, sort_direction direction=sort_ascending)
 Returns a copy of source sorted in the given direction, storing the location from which each element in the result vector was retrieved in the corresponding element of rank.
template<typename T >
detail::enable_if
< detail::is_scalar< T >
::value, dense< T, 1 > >::type 
arbb::sort (const dense< T, 1 > &source, sort_direction direction=sort_ascending)
 Returns a copy of source sorted in the given direction.
u64 arbb::wall_clock ()
 Retrieves the current platform-specific time.
dense< boolean, 1 > arbb::mask (const usize &result_size, const usize &start, const usize &true_count, const usize &stride)
 Returns a dense container with a size of result_size, where true_count elements are set to true every stride elements starting at index start.
template<typename T >
dense< T, 2 > arbb::reshape (const dense< T, 1 > &source, const usize &ncols, const usize &nrows)
 Returns a dense container of size {ncols, nrows}, filled with values from source in row-major order.
template<typename T , typename U >
dense< T, 2 > arbb::reshape_as (const dense< T, 1 > &source, const dense< U, 2 > &shape)
 Equivalent to reshape(source, shape.width(), shape.height()).
template<typename T >
dense< T, 3 > arbb::reshape (const dense< T, 1 > &source, const usize &ncols, const usize &nrows, const usize &npages)
 Returns a dense container of size {ncols, nrows, npages}, filled with values from source in page-major, row-major order.
template<typename T , typename U >
dense< T, 3 > arbb::reshape_as (const dense< T, 1 > &source, const dense< U, 3 > &shape)
 Equivalent to reshape(source, shape.width(), shape.height(), shape.depth()).
template<typename T , std::size_t D>
dense< T > arbb::add_merge (const dense< T, D > &source, const dense< isize > &indices)
 Returns a dense container with the same size as source, where data from source is scattered according to indices, and collisions are resolved by adding values together.

Submit feedback on this help topic

Copyright © 2010, Intel Corporation. All rights reserved.