NVBIO
|
A Wavelet Tree storage class, holding a bit-string representing the different bit-planes of the output Wavelet Tree, and the tree structure itself, a binary heap, recording the sequence split of each node.
SystemTag | the system memory space where this object's data is allocated |
IndexType | the type of integers used to index this string |
SymbolType | the unsigned integer type used to encode symbols (e.g. uint8, uint16, uint32...) |
Definition at line 179 of file wavelet_tree.h.
#include <wavelet_tree.h>
Public Types | |
typedef SystemTag | system_tag |
typedef IndexType | index_type |
typedef SymbolType | symbol_type |
typedef PackedVector < system_tag, 1u, true, index_type > | bit_vector_type |
typedef nvbio::vector < system_tag, index_type > | index_vector_type |
typedef bit_vector_type::iterator | bit_iterator |
typedef bit_vector_type::const_iterator | const_bit_iterator |
typedef index_vector_type::iterator | index_iterator |
typedef index_vector_type::const_iterator | const_index_iterator |
typedef WaveletTree < bit_iterator, index_iterator > | plain_view_type |
typedef WaveletTree < const_bit_iterator, const_index_iterator > | const_plain_view_type |
Public Methods | |
WaveletTreeStorage () | |
void | resize (const uint32 _size, const uint32 _symbol_size) |
NVBIO_HOST_DEVICE uint32 | symbol_size () const |
NVBIO_HOST_DEVICE index_type | size () const |
bit_iterator | bits () |
index_iterator | splits () |
index_iterator | occ () |
const_bit_iterator | bits () const |
const_index_iterator | splits () const |
const_index_iterator | occ () const |
operator plain_view_type () | |
operator const_plain_view_type () const | |
Public Members | |
uint32 | m_symbol_size |
index_type | m_size |
bit_vector_type | m_bits |
index_vector_type | m_nodes |
index_vector_type | m_occ |
Related Functions | |
(Note that these are not member functions.) | |
template<typename system_tag , typename string_iterator , typename index_type , typename symbol_type > | |
void | setup (const index_type string_len, const string_iterator &string, WaveletTreeStorage< system_tag, index_type, symbol_type > &out_tree) |
template<typename SystemTag , typename IndexType , typename SymbolType > | |
WaveletTreeStorage< SystemTag, IndexType, SymbolType > ::plain_view_type | plain_view (WaveletTreeStorage< SystemTag, IndexType, SymbolType > &tree) |
template<typename SystemTag , typename IndexType , typename SymbolType > | |
WaveletTreeStorage< SystemTag, IndexType, SymbolType > ::const_plain_view_type | plain_view (const WaveletTreeStorage< SystemTag, IndexType, SymbolType > &tree) |
typedef bit_vector_type::iterator nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::bit_iterator |
Definition at line 188 of file wavelet_tree.h.
typedef PackedVector<system_tag,1u,true,index_type> nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::bit_vector_type |
Definition at line 186 of file wavelet_tree.h.
typedef bit_vector_type::const_iterator nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::const_bit_iterator |
Definition at line 189 of file wavelet_tree.h.
typedef index_vector_type::const_iterator nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::const_index_iterator |
Definition at line 191 of file wavelet_tree.h.
typedef WaveletTree<const_bit_iterator,const_index_iterator> nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::const_plain_view_type |
Definition at line 194 of file wavelet_tree.h.
typedef index_vector_type::iterator nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::index_iterator |
Definition at line 190 of file wavelet_tree.h.
typedef IndexType nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::index_type |
Definition at line 183 of file wavelet_tree.h.
typedef nvbio::vector<system_tag,index_type> nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::index_vector_type |
Definition at line 187 of file wavelet_tree.h.
typedef WaveletTree< bit_iterator, index_iterator> nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::plain_view_type |
Definition at line 193 of file wavelet_tree.h.
typedef SymbolType nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::symbol_type |
Definition at line 184 of file wavelet_tree.h.
typedef SystemTag nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::system_tag |
Definition at line 182 of file wavelet_tree.h.
|
inline |
constructor
Definition at line 198 of file wavelet_tree.h.
|
inline |
return the bit string
Definition at line 228 of file wavelet_tree.h.
|
inline |
return the bit string
Definition at line 240 of file wavelet_tree.h.
|
inline |
return the occurrences
Definition at line 236 of file wavelet_tree.h.
|
inline |
return the occurrences
Definition at line 248 of file wavelet_tree.h.
|
inline |
Definition at line 259 of file wavelet_tree.h.
|
inline |
Definition at line 250 of file wavelet_tree.h.
|
inline |
resize the tree
Definition at line 204 of file wavelet_tree.h.
|
inline |
return the number of symbols
Definition at line 224 of file wavelet_tree.h.
|
inline |
return the nodes
Definition at line 232 of file wavelet_tree.h.
|
inline |
return the nodes
Definition at line 244 of file wavelet_tree.h.
|
inline |
return the number of bits per symbol
Definition at line 219 of file wavelet_tree.h.
bit_vector_type nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::m_bits |
Definition at line 271 of file wavelet_tree.h.
index_vector_type nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::m_nodes |
Definition at line 272 of file wavelet_tree.h.
index_vector_type nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::m_occ |
Definition at line 273 of file wavelet_tree.h.
index_type nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::m_size |
Definition at line 270 of file wavelet_tree.h.
uint32 nvbio::WaveletTreeStorage< SystemTag, IndexType, SymbolType >::m_symbol_size |
Definition at line 269 of file wavelet_tree.h.