NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Functions
primitives.h File Reference
#include <nvbio/basic/types.h>
#include <nvbio/basic/numbers.h>
#include <nvbio/basic/console.h>
#include <nvbio/basic/vector.h>
#include <nvbio/basic/algorithms.h>
#include <nvbio/basic/cuda/timer.h>
#include <thrust/reduce.h>
#include <thrust/scan.h>
#include <thrust/copy.h>
#include <thrust/sort.h>
#include <thrust/binary_search.h>
#include <thrust/merge.h>
#include <thrust/iterator/constant_iterator.h>
#include <nvbio/basic/primitives_inl.h>

Go to the source code of this file.

Classes

struct  nvbio::for_each_enactor< system_tag >
 
struct  nvbio::for_each_enactor< device_tag >
 

Namespaces

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

Functions

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 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 system_tag , typename Iterator , typename Functor >
void nvbio::for_each (const uint64 n, const Iterator in, 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 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 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 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 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 system_tag , typename KeyIterator >
void nvbio::radix_sort (const uint32 n, KeyIterator keys, nvbio::vector< system_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 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)