NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | List of all members
nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator > Struct Template Reference

Detailed description

template< uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type = const uint32*, typename offsets_iterator = const uint64*>
struct nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >

A context for the incremental parallel set-bwte algorithm for computing the BWT of a string-set.

Template Parameters
SYMBOL_SIZEthe size of the symbols, in bits
BIG_ENDIANwhether the input/output packed streams are big endian
storage_typethe iterator to the input packed stream storage
offsets_iteratorthe iterator to the offsets in the concatenated string-set

Definition at line 99 of file bwte.h.

#include <bwte.h>

Public Types

typedef std::iterator_traits
< offsets_iterator >
::value_type 
index_type
 
typedef ConcatenatedStringSet
< PackedStream< storage_type,
uint8, SYMBOL_SIZE, BIG_ENDIAN,
index_type >, offsets_iterator > 
string_set_type
 

Public Methods

 BWTEContext (const int device)
 
uint64 needed_device_memory (const uint32 _max_block_strings, const uint32 _max_block_suffixes) const
 
void reserve (const uint32 _max_block_strings, const uint32 _max_block_suffixes)
 
void append_block (const uint32 block_begin, const uint32 block_end, const string_set_type string_set, PagedText< SYMBOL_SIZE, BIG_ENDIAN > &BWT_ext, SparseSymbolSet &BWT_ext_dollars, const bool forward)
 
void sort_block (const uint32 block_begin, const uint32 block_end, const string_set_type string_set, BWTEBlock &block)
 
void merge_block (const uint32 block_begin, const uint32 block_end, const string_set_type string_set, BWTEBlock &block, PagedText< SYMBOL_SIZE, BIG_ENDIAN > &BWT_ext, SparseSymbolSet &BWT_ext_dollars, const bool forward)
 

Member Typedef Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type = const uint32*, typename offsets_iterator = const uint64*>
typedef std::iterator_traits<offsets_iterator>::value_type nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::index_type

Definition at line 101 of file bwte.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type = const uint32*, typename offsets_iterator = const uint64*>
typedef ConcatenatedStringSet< PackedStream<storage_type,uint8,SYMBOL_SIZE,BIG_ENDIAN,index_type>, offsets_iterator> nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::string_set_type

Definition at line 104 of file bwte.h.

Constructor & Destructor Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , typename offsets_iterator >
nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::BWTEContext ( const int  device)

constructor

Definition at line 75 of file bwte_inl.h.

Member Function Documentation

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , typename offsets_iterator >
void nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::append_block ( const uint32  block_begin,
const uint32  block_end,
const string_set_type  string_set,
PagedText< SYMBOL_SIZE, BIG_ENDIAN > &  BWT_ext,
SparseSymbolSet BWT_ext_dollars,
const bool  forward 
)

append a new block of strings

Parameters
block_beginthe beginning of the block of strings to encode in the input string-set
block_endthe end of the block of strings to encode in the input string-set
string_setthe input string-set
BWT_extthe output BWT
BWT_ext_dollarsthe output BWT dollars
forwardtrue if appending the result, false if prepending it

Definition at line 171 of file bwte_inl.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , typename offsets_iterator >
void nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::merge_block ( const uint32  block_begin,
const uint32  block_end,
const string_set_type  string_set,
BWTEBlock block,
PagedText< SYMBOL_SIZE, BIG_ENDIAN > &  BWT_ext,
SparseSymbolSet BWT_ext_dollars,
const bool  forward 
)

Definition at line 194 of file bwte_inl.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , typename offsets_iterator >
uint64 nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::needed_device_memory ( const uint32  _max_block_strings,
const uint32  _max_block_suffixes 
) const

needed device memory

Definition at line 97 of file bwte_inl.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , typename offsets_iterator >
void nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::reserve ( const uint32  _max_block_strings,
const uint32  _max_block_suffixes 
)

reserve space for a maximum block size

Definition at line 116 of file bwte_inl.h.

template<uint32 SYMBOL_SIZE, bool BIG_ENDIAN, typename storage_type , typename offsets_iterator >
void nvbio::BWTEContext< SYMBOL_SIZE, BIG_ENDIAN, storage_type, offsets_iterator >::sort_block ( const uint32  block_begin,
const uint32  block_end,
const string_set_type  string_set,
BWTEBlock block 
)

Definition at line 290 of file bwte_inl.h.


The documentation for this struct was generated from the following files: