Math operators

Note

The C++ API provides RAII wrappers around the C API. For detailed documentation including parameters, return values, and limitations, please refer to the corresponding C API documentation.

template<typename T, class = nvcv::cuda::Require< nvcv::cuda::IsCompound <T>>> inline __host__ __device__ auto operator- (T a)
template<typename T, class = nvcv::cuda::Require< nvcv::cuda::IsCompound <T>>> inline __host__ __device__ auto operator+ (T a)
template<typename T, class = nvcv::cuda::Require< nvcv::cuda::detail::IsIntegralCompound <T>>> inline __host__ __device__ auto operator~ (T a)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompound <T, U>>> inline __host__ __device__ auto operator- (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator-= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompound <T, U>>> inline __host__ __device__ auto operator+ (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator+= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompound <T, U>>> inline __host__ __device__ auto operator* (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator*= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompound <T, U>>> inline __host__ __device__ auto operator/ (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator/= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompoundAndBothAreIntegral <T, U>>> inline __host__ __device__ auto operator% (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator%= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompoundAndBothAreIntegral <T, U>>> inline __host__ __device__ auto operator& (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator&= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompoundAndBothAreIntegral <T, U>>> inline __host__ __device__ auto operator| (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator|= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompoundAndBothAreIntegral <T, U>>> inline __host__ __device__ auto operator^ (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator^= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompoundAndBothAreIntegral <T, U>>> inline __host__ __device__ auto operator<< (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator<<= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require< nvcv::cuda::detail::OneIsCompoundAndBothAreIntegral <T, U>>> inline __host__ __device__ auto operator>> (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::IsCompound<T>>> inline __host__ __device__ T & operator>>= (T &a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::detail::IsSameCompound<T, U>>> inline __host__ __device__ bool operator== (T a, U b)
template<typename T, typename U, class = nvcv::cuda::Require<nvcv::cuda::detail::IsSameCompound<T, U>>> inline __host__ __device__ bool operator!= (T a, U b)
NVCV_CUDA_UNARY_OPERATOR(OPERATOR, REQUIREMENT)
NVCV_CUDA_BINARY_OPERATOR(OPERATOR, REQUIREMENT)