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

Detailed description

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

Definition at line 591 of file qgram.h.

#include <qgram.h>

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

Public Types

typedef device_tag system_tag
 
typedef QGramIndexCore
< device_tag, uint64, uint32,
uint32
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, uint32 >
typedef device_tag system_tag
 
typedef uint64 qgram_type
 
typedef uint32 index_type
 
typedef uint32 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 *, uint32 * > 
plain_view_type
 
typedef QGramIndexViewCore
< const uint64 *, const uint32
*, const uint32 * > 
const_plain_view_type
 

Public Methods

template<typename string_type >
void build (const uint32 q, const uint32 symbol_sz, const uint32 string_len, const string_type string, const uint32 qlut=0)
 
template<typename SystemTag >
QGramIndexDeviceoperator= (const QGramIndexCore< SystemTag, uint64, uint32, uint32 > &src)
 
- Public Methods inherited from nvbio::QGramIndexCore< device_tag, uint64, uint32, uint32 >
 QGramIndexCore ()
 
uint64 used_host_memory () const
 
uint64 used_device_memory () const
 

Additional Inherited Members

- Public Members inherited from nvbio::QGramIndexCore< device_tag, uint64, uint32, uint32 >
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 607 of file qgram.h.

Definition at line 605 of file qgram.h.

Definition at line 603 of file qgram.h.

Definition at line 599 of file qgram.h.

Definition at line 602 of file qgram.h.

Definition at line 606 of file qgram.h.

Definition at line 604 of file qgram.h.

Definition at line 601 of file qgram.h.

Definition at line 593 of file qgram.h.

Member Function Documentation

template<typename string_type >
void nvbio::QGramIndexDevice::build ( const uint32  q,
const uint32  symbol_sz,
const uint32  string_len,
const string_type  string,
const uint32  qlut = 0 
)

build a q-gram index from a given string T

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

Definition at line 39 of file qgram_inl.h.

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

copy operator

Definition at line 354 of file qgram_inl.h.


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