Template Struct divides¶
Defined in File functional.h
Struct Documentation¶
-
template<typename
T
>
structdivides
¶ divides
is a function object. Specifically, it is an Adaptable Binary Function. Iff
is an object of classdivides<T>
, andx
andy
are objects of classT
, thenf(x,y)
returnsx/y
.The following code snippet demonstrates how to use
divides
to divide one device_vectors offloats
by another.- Template Parameters
T
: is a model of Assignable, and ifx
andy
are objects of typeT
, thenx/y
must be defined and must have a return type that is convertible toT
.
#include <thrust/device_vector.h> #include <thrust/functional.h> #include <thrust/sequence.h> #include <thrust/fill.h> #include <thrust/transform.h> ... const int N = 1000; thrust::device_vector<float> V1(N); thrust::device_vector<float> V2(N); thrust::device_vector<float> V3(N); thrust::sequence(V1.begin(), V1.end(), 1); thrust::fill(V2.begin(), V2.end(), 75); thrust::transform(V1.begin(), V1.end(), V2.begin(), V3.begin(), thrust::divides<float>()); // V3 is now {1/75, 2/75, 3/75, ..., 1000/75}
Public Types
-
typedef
first_argument_type
¶ The type of the function object’s first argument.
-
typedef
second_argument_type
¶ The type of the function object’s second argument.
-
typedef
result_type
¶ The type of the function object’s result;.
Public Functions
-
__host__ __device__ T thrust::divides::operator()(const T & lhs, const T & rhs) const
Function call operator. The return value is
lhs / rhs
.