template<typename DerivedPolicy , typename OutputIterator , typename Size , typename Generator >
__host__ __device__ OutputIterator thrust::generate_n |
( |
const thrust::detail::execution_policy_base< DerivedPolicy > & |
exec, |
|
|
OutputIterator |
first, |
|
|
Size |
n, |
|
|
Generator |
gen |
|
) |
| |
generate_n
assigns the result of invoking gen
, a function object that takes no arguments, to each element in the range [first,first + n)
. The return value is first + n
.
The algorithm's execution is parallelized as determined by exec
.
- Parameters
-
exec | The execution policy to use for parallelization. |
first | The first element in the range of interest. |
n | The size of the range of interest. |
gen | A function argument, taking no parameters, used to generate values to assign to elements in the range [first,first + n) . |
- Template Parameters
-
DerivedPolicy | The name of the derived execution policy. |
OutputIterator | is a model of Output Iterator. |
Size | is an integral type (either signed or unsigned). |
Generator | is a model of Generator, and Generator's result_type is convertible to a type in OutputIterator's set of value_types . |
The following code snippet demonstrates how to fill a host_vector
with random numbers, using the standard C library function rand
using the thrust::host
execution policy for parallelization:
#include <cstdlib>
...
thrust::host_vector<int> v(10);
srand(13);
- See also
- generate
-
https://en.cppreference.com/w/cpp/algorithm/generate