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

Go to the source code of this file.

Classes

struct  nvbio::dispatch_rank< SYMBOL_SIZE_T, K, TextString, OccIterator, CountTable, WordType, OccType >
 
struct  nvbio::rank_word_traits< N, T >
 
struct  nvbio::rank_word_traits< 2, uint32 >
 
struct  nvbio::rank_word_traits< 2, uint64 >
 
struct  nvbio::rank_word_traits< 4, uint32 >
 
struct  nvbio::rank_word_traits< 4, uint64 >
 
struct  nvbio::rank_word_traits< 8, uint32 >
 
struct  nvbio::rank_word_traits< 8, uint64 >
 
struct  nvbio::dispatch_rank< SYMBOL_SIZE, K, PackedStream< TextStorage, uint8, SYMBOL_SIZE, true, index_type >, OccIterator, CountTable, word_type, index_type >
 
struct  nvbio::dispatch_rank< 2, 64, PackedStream< TextStorage, uint8, 2u, true >, OccIterator, CountTable, uint4, uint4 >
 

Namespaces

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

Functions

template<uint32 SYMBOL_SIZE, uint32 K, typename SymbolIterator , typename IndexType >
void nvbio::build_occurrence_table (SymbolIterator begin, SymbolIterator end, IndexType *occ, IndexType *cnt)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::unpack_add (uint4 *op1, const uint32 op2)
 
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::unpack_add (uint64_4 *op1, const uint32 op2)
 
template<uint32 N, typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint32 mask, const T c)
 
template<uint32 N, typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint32 mask, const T c, const uint32 i)
 
template<uint32 N>
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint32 mask, const uint32 c)
 
template<uint32 N>
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint32 mask, const uint32 c, const uint32 i)
 
template<uint32 N, typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint64 mask, const T c)
 
template<uint32 N, typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint64 mask, const T c, const uint32 i)
 
template<uint32 N>
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint64 mask, const uint32 c)
 
template<uint32 N>
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const uint64 mask, const uint32 c, const uint32 i)
 
template<uint32 N, typename TextString , typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const TextString text, const T c, const uint32 begin, const uint32 end)
 
template<uint32 N, typename TextString , typename T >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const TextString text, const T c, const uint32 begin, const uint32 end, const uint32 i)
 
template<uint32 N, typename TextString , typename T , typename W >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint32 
nvbio::occ::popc_nbit (const TextString text, const T c, const uint32 begin, const uint32 end, const uint32 i, W &last_mask)
 
template<uint32 SYMBOL_SIZE_T, uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint8 
nvbio::text (const rank_dictionary< SYMBOL_SIZE_T, K, TextString, OccIterator, CountTable > &dict, const uint32 i)
 
template<uint32 SYMBOL_SIZE_T, uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE uint8 
nvbio::text (const rank_dictionary< SYMBOL_SIZE_T, K, TextString, OccIterator, CountTable > &dict, const uint64 i)
 
template<uint32 SYMBOL_SIZE_T, uint32 K, typename TextString , typename OccIterator , typename CountTable , typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE IndexType 
nvbio::rank (const rank_dictionary< SYMBOL_SIZE_T, K, TextString, OccIterator, CountTable > &dict, const IndexType i, const uint32 c)
 
template<uint32 SYMBOL_SIZE_T, uint32 K, typename TextString , typename OccIterator , typename CountTable , typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE vector_type
< IndexType, 2 >::type 
nvbio::rank (const rank_dictionary< SYMBOL_SIZE_T, K, TextString, OccIterator, CountTable > &dict, const typename vector_type< IndexType, 2 >::type range, const uint32 c)
 
template<uint32 K, typename TextString , typename OccIterator , typename CountTable , typename IndexType >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE vector_type
< IndexType, 4 >::type 
nvbio::rank4 (const rank_dictionary< 2, K, TextString, OccIterator, CountTable > &dict, const IndexType i)
 
template<uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::rank4 (const rank_dictionary< 2, K, TextString, OccIterator, CountTable > &dict, const uint2 range, uint4 *outl, uint4 *outh)
 
template<uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::rank4 (const rank_dictionary< 2, K, TextString, OccIterator, CountTable > &dict, const uint64_2 range, uint64_4 *outl, uint64_4 *outh)
 
template<uint32 SYMBOL_SIZE, uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE
rank_dictionary< SYMBOL_SIZE,
K, TextString, OccIterator,
CountTable >::vector_type 
nvbio::rank_all (const rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable > &dict, const typename rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable >::index_type i)
 
template<uint32 SYMBOL_SIZE, uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::rank_all (const rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable > &dict, const typename rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable >::index_type i, typename rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable >::vector_type *out)
 
template<uint32 SYMBOL_SIZE, uint32 K, typename TextString , typename OccIterator , typename CountTable >
NVBIO_FORCEINLINE
NVBIO_HOST_DEVICE void 
nvbio::rank_all (const rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable > &dict, const typename rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable >::range_type range, typename rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable >::vector_type *outl, typename rank_dictionary< SYMBOL_SIZE, K, TextString, OccIterator, CountTable >::vector_type *outh)