dlvhex  2.5.0
vs12/bm/bmtrans.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bm::tmatrix< T, ROWS, COLS >
 Mini-matrix for bit transposition purposes. More...
struct  bm::tmatrix< T, ROWS, COLS >::rstat
 Row characteristics for transposed matrix. More...
struct  bm::bit_grabber< T, BPC >
struct  bm::bit_grabber< unsigned, 32 >
struct  bm::bit_grabber< unsigned short, 16 >
struct  bm::bit_grabber< unsigned char, 8 >
struct  bm::bit_trans_grabber< T, BPC, BPS >
class  bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >
 Bit-plain splicing of a GAP block. More...

Namespaces

namespace  bm

Functions

template<typename T , unsigned BPC, unsigned BPS>
void bm::vect_bit_transpose (const T *arr, unsigned arr_size, T tmatrix[BPC][BPS])
 Generic bit-array transposition function T - array type (any int) BPC - bit plain count BPS - bit plain size.
template<typename T , unsigned BPC, unsigned BPS>
void bm::vect_bit_trestore (const T tmatrix[BPC][BPS], T *arr)
 Restore bit array from the transposition matrix T - array type (any int) BPC - bit plain count BPS - bit plain size.
template<typename T , unsigned BPC, unsigned BPS>
void bm::tmatrix_distance (const T tmatrix[BPC][BPS], unsigned distance[BPC][BPC])
 Compute pairwise Row x Row Humming distances on plains(rows) of the transposed bit block.
template<typename T , unsigned BPC, unsigned BPS>
void bm::bit_iblock_make_pcv (const unsigned distance[BPC][BPC], unsigned char *pc_vector)
 !< ibpc limiter
void bm::bit_iblock_pcv_stat (const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned *BMRESTRICT pc_vector_stat)
 Compute number of ibpc codes in pc_vector.
void bm::bit_iblock_reduce (const unsigned tmatrix[bm::set_block_plain_cnt][bm::set_block_plain_size], const unsigned char *BMRESTRICT pc_vector, const unsigned char *BMRESTRICT pc_vector_end, unsigned tmatrix_out[bm::set_block_plain_cnt][bm::set_block_plain_size])
 Matrix reduction based on transformation pc vector.
template<class TMatrix >
void bm::tmatrix_reduce (TMatrix &tmatrix, const unsigned char *pc_vector, const unsigned effective_cols)
 Transposed Matrix reduction based on transformation pc vector.
template<class TMatrix >
void bm::tmatrix_restore (TMatrix &tmatrix, const unsigned char *pc_vector, const unsigned effective_cols)
 Transposed Matrix restore based on transformation pc vector.
template<typename GT >
void bm::gap_2_bitblock (const GT *BMRESTRICT gap_buf, GT *BMRESTRICT block, unsigned block_size)
 Copy GAP block body to bit block with DGap transformation.
template<class TMatrix >
void bm::compute_tmatrix_rstat (const TMatrix &tmatrix, const unsigned char *pc_vector, typename TMatrix::rstat *rstat, unsigned effective_cols)
 Compute t-matrix rows statistics used for compression.
template<typename TM >
unsigned bm::find_effective_columns (const TM &tmatrix)
 Compute effective right column border of the t-matrix.