NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Functions
primitives_inl.h File Reference

Go to the source code of this file.

Classes

struct  nvbio::is_sorted_iterator< Iterator1, Iterator2 >
 
struct  nvbio::is_segment_sorted_iterator< Iterator1, Iterator2, Headflags >
 

Namespaces

 nvbio
 Define a vector_view POD type and plain_view() for std::vector.
 

Functions

template<typename PredicateIterator >
bool nvbio::any (const host_tag tag, const uint32 n, const PredicateIterator pred)
 
template<typename PredicateIterator >
bool nvbio::all (const host_tag tag, const uint32 n, const PredicateIterator pred)
 
template<typename system_tag , typename PredicateIterator >
bool nvbio::any (const uint32 n, const PredicateIterator pred)
 
template<typename system_tag , typename PredicateIterator >
bool nvbio::all (const uint32 n, const PredicateIterator pred)
 
template<typename T1 , typename T2 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
is_sorted_iterator< T1, T2 > 
nvbio::operator+ (const is_sorted_iterator< T1, T2 > it, const int64 i)
 
template<typename T1 , typename T2 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int64 
nvbio::operator- (const is_sorted_iterator< T1, T2 > it1, const is_sorted_iterator< T1, T2 > it2)
 
template<typename T1 , typename T2 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::operator!= (const is_sorted_iterator< T1, T2 > it1, const is_sorted_iterator< T1, T2 > it2)
 
template<typename T1 , typename T2 >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::operator== (const is_sorted_iterator< T1, T2 > it1, const is_sorted_iterator< T1, T2 > it2)
 
template<typename T1 , typename T2 , typename H >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
is_segment_sorted_iterator< T1,
T2, H
nvbio::operator+ (const is_segment_sorted_iterator< T1, T2, H > it, const int64 i)
 
template<typename T1 , typename T2 , typename H >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE int64 
nvbio::operator- (const is_segment_sorted_iterator< T1, T2, H > it1, const is_segment_sorted_iterator< T1, T2, H > it2)
 
template<typename T1 , typename T2 , typename H >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::operator!= (const is_segment_sorted_iterator< T1, T2, H > it1, const is_segment_sorted_iterator< T1, T2, H > it2)
 
template<typename T1 , typename T2 , typename H >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE bool 
nvbio::operator== (const is_segment_sorted_iterator< T1, T2, H > it1, const is_segment_sorted_iterator< T1, T2, H > it2)
 
template<typename system_tag , typename Iterator >
bool nvbio::is_sorted (const uint32 n, const Iterator values)
 
template<typename system_tag , typename Iterator , typename Headflags >
bool nvbio::is_segment_sorted (const uint32 n, const Iterator values, const Headflags flags)
 
template<typename Iterator , typename Functor >
void nvbio::for_each (const host_tag tag, const uint64 n, const Iterator in, Functor functor)
 
template<typename Iterator , typename Functor >
void nvbio::for_each (const device_tag tag, const uint64 n, const Iterator in, Functor functor)
 
template<typename system_tag , typename Iterator , typename Functor >
void nvbio::for_each (const uint64 n, const Iterator in, Functor functor)
 
template<typename Iterator , typename Output , typename Functor >
void nvbio::transform (const device_tag tag, const uint64 n, const Iterator in, const Output out, const Functor functor)
 
template<typename Iterator , typename Output , typename Functor >
void nvbio::transform (const host_tag tag, const uint32 n, const Iterator in, const Output out, const Functor functor)
 
template<typename Iterator1 , typename Iterator2 , typename Output , typename Functor >
void nvbio::transform (const device_tag tag, const uint32 n, const Iterator1 in1, const Iterator2 in2, const Output out, const Functor functor)
 
template<typename Iterator1 , typename Iterator2 , typename Output , typename Functor >
void nvbio::transform (const host_tag tag, const uint32 n, const Iterator1 in1, const Iterator2 in2, const Output out, const Functor functor)
 
template<typename system_tag , typename Iterator , typename Output , typename Functor >
void nvbio::transform (const uint32 n, const Iterator in, const Output out, const Functor functor)
 
template<typename system_tag , typename Iterator1 , typename Iterator2 , typename Output , typename Functor >
void nvbio::transform (const uint32 n, const Iterator1 in1, const Iterator2 in2, const Output out, const Functor functor)
 
template<typename InputIterator , typename BinaryOp >
std::iterator_traits
< InputIterator >::value_type 
nvbio::reduce (host_tag tag, const uint32 n, InputIterator in, BinaryOp op, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename InputIterator , typename OutputIterator , typename BinaryOp >
void nvbio::inclusive_scan (host_tag tag, const uint32 n, InputIterator in, OutputIterator out, BinaryOp op, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename InputIterator , typename OutputIterator , typename BinaryOp , typename Identity >
void nvbio::exclusive_scan (host_tag tag, const uint32 n, InputIterator in, OutputIterator out, BinaryOp op, Identity identity, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename InputIterator , typename BinaryOp >
std::iterator_traits
< InputIterator >::value_type 
nvbio::reduce (const uint32 n, InputIterator in, BinaryOp op, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename InputIterator , typename OutputIterator , typename BinaryOp >
void nvbio::inclusive_scan (const uint32 n, InputIterator in, OutputIterator out, BinaryOp op, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename InputIterator , typename OutputIterator , typename BinaryOp , typename Identity >
void nvbio::exclusive_scan (const uint32 n, InputIterator in, OutputIterator out, BinaryOp op, Identity identity, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename InputIterator , typename FlagsIterator , typename OutputIterator >
uint32 nvbio::copy_flagged (const host_tag tag, const uint32 n, InputIterator in, FlagsIterator flags, OutputIterator out, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename InputIterator , typename OutputIterator , typename Predicate >
uint32 nvbio::copy_if (const host_tag tag, const uint32 n, InputIterator in, OutputIterator out, const Predicate pred, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename InputIterator , typename OutputIterator , typename CountIterator >
uint32 nvbio::runlength_encode (const host_tag tag, const uint32 n, InputIterator in, OutputIterator out, CountIterator counts, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename KeyIterator , typename ValueIterator , typename OutputKeyIterator , typename OutputValueIterator , typename ReductionOp >
uint32 nvbio::reduce_by_key (const host_tag tag, const uint32 n, KeyIterator keys_in, ValueIterator values_in, OutputKeyIterator keys_out, OutputValueIterator values_out, ReductionOp reduction_op, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename InputIterator , typename FlagsIterator , typename OutputIterator >
uint32 nvbio::copy_flagged (const uint32 n, InputIterator in, FlagsIterator flags, OutputIterator out, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename InputIterator , typename OutputIterator , typename Predicate >
uint32 nvbio::copy_if (const uint32 n, InputIterator in, OutputIterator out, const Predicate pred, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename InputIterator , typename OutputIterator , typename CountIterator >
uint32 nvbio::runlength_encode (const uint32 n, InputIterator in, OutputIterator out, CountIterator counts, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename KeyIterator , typename ValueIterator , typename OutputKeyIterator , typename OutputValueIterator , typename ReductionOp >
uint32 nvbio::reduce_by_key (const uint32 n, KeyIterator keys_in, ValueIterator values_in, OutputKeyIterator keys_out, OutputValueIterator values_out, ReductionOp reduction_op, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename KeyIterator , typename ValueIterator , typename OutputIterator >
void nvbio::lower_bound (const device_tag tag, const uint32 n, ValueIterator values, const uint32 n_keys, KeyIterator keys, OutputIterator indices)
 
template<typename KeyIterator , typename ValueIterator , typename OutputIterator >
void nvbio::lower_bound (const host_tag tag, const uint32 n, ValueIterator values, const uint32 n_keys, KeyIterator keys, OutputIterator indices)
 
template<typename system_tag , typename KeyIterator , typename ValueIterator , typename OutputIterator >
void nvbio::lower_bound (const uint32 n, ValueIterator values, const uint32 n_keys, KeyIterator keys, OutputIterator indices)
 
template<typename KeyIterator , typename ValueIterator , typename OutputIterator >
void nvbio::upper_bound (const device_tag tag, const uint32 n, ValueIterator values, const uint32 n_keys, KeyIterator keys, OutputIterator indices)
 
template<typename KeyIterator , typename ValueIterator , typename OutputIterator >
void nvbio::upper_bound (const host_tag tag, const uint32 n, ValueIterator values, const uint32 n_keys, KeyIterator keys, OutputIterator indices)
 
template<typename system_tag , typename KeyIterator , typename ValueIterator , typename OutputIterator >
void nvbio::upper_bound (const uint32 n, ValueIterator values, const uint32 n_keys, KeyIterator keys, OutputIterator indices)
 
template<typename KeyIterator >
void nvbio::radix_sort (const host_tag tag, const uint32 n, KeyIterator keys, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename KeyIterator >
void nvbio::radix_sort (const uint32 n, KeyIterator keys, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename KeyIterator , typename ValueIterator >
void nvbio::radix_sort (const host_tag tag, const uint32 n, KeyIterator keys, ValueIterator values, nvbio::vector< host_tag, uint8 > &temp_storage)
 
template<typename system_tag , typename KeyIterator , typename ValueIterator >
void nvbio::radix_sort (const uint32 n, KeyIterator keys, ValueIterator values, nvbio::vector< system_tag, uint8 > &temp_storage)
 
template<typename key_iterator1 , typename key_iterator2 >
uint2 nvbio::corank (const int32 i, const key_iterator1 A, const int32 m, const key_iterator2 B, const int32 n)
 
template<typename key_iterator1 , typename key_iterator2 , typename value_iterator1 , typename value_iterator2 , typename key_output , typename value_output >
void nvbio::merge_by_key (const host_tag tag, const uint32 A_len, const uint32 B_len, const key_iterator1 A_keys, const key_iterator2 B_keys, const value_iterator1 A_values, const value_iterator2 B_values, key_output C_keys, value_output C_values)
 
template<typename key_iterator1 , typename key_iterator2 , typename value_iterator1 , typename value_iterator2 , typename key_output , typename value_output >
void nvbio::merge_by_key (const device_tag tag, const uint32 A_len, const uint32 B_len, const key_iterator1 A_keys, const key_iterator2 B_keys, const value_iterator1 A_values, const value_iterator2 B_values, key_output C_keys, value_output C_values)
 
template<typename system_tag , typename key_iterator1 , typename key_iterator2 , typename value_iterator1 , typename value_iterator2 , typename key_output , typename value_output >
void nvbio::merge_by_key (const uint32 A_len, const uint32 B_len, const key_iterator1 A_keys, const key_iterator2 B_keys, const value_iterator1 A_values, const value_iterator2 B_values, key_output C_keys, value_output C_values, nvbio::vector< system_tag, uint8 > &temp_storage)