tabulate
fills the range [first, last)
with the value of a function applied to each element's index.
For each iterator i
in the range [first, last)
, tabulate
performs the assignment *i = unary_op(i - first)
.
The algorithm's execution is parallelized as determined by exec
.
- Parameters
-
exec | The execution policy to use for parallelization. |
first | The beginning of the range. |
last | The end of the range. |
unary_op | The unary operation to apply. |
- Template Parameters
-
DerivedPolicy | The name of the derived execution policy. |
ForwardIterator | is a model of Forward Iterator, and ForwardIterator is mutable, and if x and y are objects of ForwardIterator's value_type , then x + y is defined, and if T is ForwardIterator's value_type , then T(0) is defined. |
UnaryOperation | is a model of Unary Function and UnaryFunction's result_type is convertible to OutputIterator's value_type . |
The following code snippet demonstrates how to use tabulate
to generate the first n
non-positive integers using the thrust::host
execution policy for parallelization:
...
const int N = 10;
int A[N];
- See also
- thrust::fill
-
thrust::generate
-
thrust::sequence