BitMagic-C++: bmtrans.h File Reference

BitMagic-C++

Data Structures | Namespaces | Functions | Variables
bmtrans.h File Reference

Utilities for bit transposition (internal) (experimental!) More...

`#include "bmdef.h"`
Include dependency graph for bmtrans.h:
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
| 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. More...
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. More...
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. More...
template<typename T , unsigned BPC, unsigned BPS>
void | bm::bit_iblock_make_pcv (const unsigned distance[BPC][BPC], unsigned char *pc_vector)
| !< ibpc limiter More...
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. More...
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. More...
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. More...
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. More...
template<typename GT , typename BT >
void | bm::gap_2_bitblock (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT block, unsigned block_size)
| Copy GAP block body to bit block with DGap transformation. More...
template<typename TM >
unsigned | bm::find_effective_columns (const TM &tmatrix)
| Compute effective right column border of the t-matrix. More...

## Variables
const unsigned char | bm::ibpc_uncompr = 0
const unsigned char | bm::ibpc_all_zero = 1
| !< plain uncompressed More...
const unsigned char | bm::ibpc_all_one = 2
| !< plain ALL ZERO More...
const unsigned char | bm::ibpc_equiv = 3
| !< plain ALL ONE More...
const unsigned char | bm::ibpc_close = 4
| !< plain is equal to plain M More...
const unsigned char | bm::ibpc_end = 8
| !< plain is close to plain M More...

## Detailed Description

Utilities for bit transposition (internal) (experimental!)

Definition in file bmtrans.h.