Template Struct negate

Struct Documentation

template<typename T>
struct negate

negate is a function object. Specifically, it is an Adaptable Unary Function. If f is an object of class negate<T>, and x is an object of class T, then f(x) returns -x.

The following code snippet demonstrates how to use

negate to negate the element of a device_vector of floats.
Template Parameters
  • T: is a model of Assignable, and if x is an object of type T, then -x must be defined and must have a return type that is convertible to T.

#include <thrust/device_vector.h>
#include <thrust/functional.h>
#include <thrust/sequence.h>
#include <thrust/transform.h>
...
const int N = 1000;
thrust::device_vector<float> V1(N);
thrust::device_vector<float> V2(N);

thrust::sequence(V1.begin(), V1.end(), 1);

thrust::transform(V1.begin(), V1.end(), V2.begin(),
                   thrust::negate<float>());
// V2 is now {-1, -2, -3, ..., -1000}

See

http://www.sgi.com/tech/stl/negate.html

See

unary_function

Public Types

typedef argument_type

The type of the function object’s argument.

typedef result_type

The type of the function object’s result;.

Public Functions

__host__ __device__ T thrust::negate::operator()(const T & x) const

Function call operator. The return value is -x.