NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | List of all members
nvbio::QGramSetIndexDevice Struct Reference

Detailed description

A device-side q-gram index for string-sets (see Q-Gram Index Module)

Definition at line 662 of file qgram.h.

#include <qgram.h>

Inheritance diagram for nvbio::QGramSetIndexDevice:
nvbio::QGramIndexCore< device_tag, uint64, uint32, uint2 >

Public Types

typedef device_tag system_tag
 
typedef QGramIndexCore
< device_tag, uint64, uint32,
uint2 > 
core_type
 
typedef
core_type::qgram_vector_type 
qgram_vector_type
 
typedef
core_type::index_vector_type 
index_vector_type
 
typedef
core_type::coord_vector_type 
coord_vector_type
 
typedef core_type::qgram_type qgram_type
 
typedef core_type::coord_type coord_type
 
typedef core_type::plain_view_type plain_view_type
 
typedef
core_type::const_plain_view_type 
const_plain_view_type
 
- Public Types inherited from nvbio::QGramIndexCore< device_tag, uint64, uint32, uint2 >
typedef device_tag system_tag
 
typedef uint64 qgram_type
 
typedef uint32 index_type
 
typedef uint2 coord_type
 
typedef nvbio::vector
< system_tag, qgram_type
qgram_vector_type
 
typedef nvbio::vector
< system_tag, index_type
index_vector_type
 
typedef nvbio::vector
< system_tag, coord_type
coord_vector_type
 
typedef QGramIndexViewCore
< uint64 *, uint32 *, uint2 * > 
plain_view_type
 
typedef QGramIndexViewCore
< const uint64 *, const uint32
*, const uint2 * > 
const_plain_view_type
 

Public Methods

template<typename string_set_type >
void build (const uint32 q, const uint32 symbol_sz, const string_set_type string_set, const uint32 qlut=0)
 
template<typename string_set_type , typename seed_functor >
void build (const uint32 q, const uint32 symbol_sz, const string_set_type string_set, const seed_functor seeder, const uint32 qlut=0)
 
template<typename SystemTag >
QGramSetIndexDeviceoperator= (const QGramIndexCore< SystemTag, uint64, uint32, uint2 > &src)
 
- Public Methods inherited from nvbio::QGramIndexCore< device_tag, uint64, uint32, uint2 >
 QGramIndexCore ()
 
uint64 used_host_memory () const
 
uint64 used_device_memory () const
 

Additional Inherited Members

- Public Members inherited from nvbio::QGramIndexCore< device_tag, uint64, uint32, uint2 >
uint32 Q
 the q-gram size More...
 
uint32 symbol_size
 symbol size More...
 
uint32 n_qgrams
 the number of q-grams in the original string More...
 
uint32 n_unique_qgrams
 the number of unique q-grams in the original string More...
 
qgram_vector_type qgrams
 the sorted list of unique q-grams More...
 
index_vector_type slots
 slots[i] stores the first occurrence of q-grams[i] in index More...
 
coord_vector_type index
 the list of occurrences of all (partially-sorted) q-grams in the original string More...
 
uint32 QL
 the number of LUT symbols More...
 
uint32 QLS
 the number of leading bits of a q-gram to lookup in the LUT More...
 
index_vector_type lut
 a LUT used to accelerate q-gram searches More...
 

Member Typedef Documentation

Definition at line 678 of file qgram.h.

Definition at line 676 of file qgram.h.

Definition at line 674 of file qgram.h.

Definition at line 670 of file qgram.h.

Definition at line 673 of file qgram.h.

Definition at line 677 of file qgram.h.

Definition at line 675 of file qgram.h.

Definition at line 672 of file qgram.h.

Definition at line 664 of file qgram.h.

Member Function Documentation

template<typename string_set_type >
void nvbio::QGramSetIndexDevice::build ( const uint32  q,
const uint32  symbol_sz,
const string_set_type  string_set,
const uint32  qlut = 0 
)

build a q-gram index from a given string-set T

Template Parameters
string_set_typethe string-set type
Parameters
qthe q parameter
symbol_szthe size of the symbols, in bits
string_setthe string-set
qlutthe number of symbols to include in the LUT (of size O( A^qlut )) used to accelerate q-gram searches

Definition at line 319 of file qgram_inl.h.

template<typename string_set_type , typename seed_functor >
void nvbio::QGramSetIndexDevice::build ( const uint32  q,
const uint32  symbol_sz,
const string_set_type  string_set,
const seed_functor  seeder,
const uint32  qlut = 0 
)

build a q-gram index from a given string-set T using a Seeding Functor

Template Parameters
string_set_typethe string-set type
seed_functorthe Seeding Functor type
Parameters
qthe q parameter
symbol_szthe size of the symbols, in bits
string_setthe string-set
seederthe seeding functor
qlutthe number of symbols to include in the LUT (of size O( A^qlut )) used to accelerate q-gram searches

Definition at line 195 of file qgram_inl.h.

template<typename SystemTag >
QGramSetIndexDevice & nvbio::QGramSetIndexDevice::operator= ( const QGramIndexCore< SystemTag, uint64, uint32, uint2 > &  src)

copy operator

Definition at line 389 of file qgram_inl.h.


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