BitMagic-C++
|
Bit-plain splicing of a GAP block. More...
#include <bmtrans.h>
Public Types | |
typedef tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))> | tmatrix_type |
cryptic calculation of equivalent size for the transpose matrix based on BLOCK_SIZE and sizeof(GT)(16) | |
Public Member Functions | |
gap_transpose_engine () | |
void | transpose (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block) |
Transpose GAP block through a temp. | |
void | transpose (const GT *BMRESTRICT garr, unsigned garr_size, BT *BMRESTRICT tmp_block) |
Transpose array of shorts. | |
void | compute_distance_matrix () |
void | reduce () |
void | restore () |
void | trestore (GT gap_head, GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block) |
Restore GAP block from the transposed matrix. | |
Data Fields | |
tmatrix_type | tmatrix_ |
unsigned | eff_cols_ |
unsigned | distance_ [tmatrix_type::n_rows][tmatrix_type::n_rows] |
unsigned char | pc_vector_ [tmatrix_type::n_rows] |
unsigned | pc_vector_stat_ [bm::ibpc_end] |
tmatrix_type::rstat | rstat_vector_ [tmatrix_type::n_rows] |
Bit-plain splicing of a GAP block.
GT - gap word type BT - block word type BLOCK_SIZE - bit block size in words (works as a transposition basis)
typedef tmatrix<GT, static_cast<unsigned>(sizeof(GT)*8), static_cast<unsigned>(((BLOCK_SIZE * sizeof(unsigned)) / (sizeof(GT))) / (sizeof(GT) * 8))> bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_type |
|
inline |
|
inline |
Definition at line 803 of file bmtrans.h.
References bm::bit_iblock_make_pcv(), bm::bit_iblock_pcv_stat(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::distance_, bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_columns, bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_rows, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_stat_, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_, and bm::tmatrix_distance().
|
inline |
Definition at line 819 of file bmtrans.h.
References bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_, and bm::tmatrix_reduce().
|
inline |
Definition at line 825 of file bmtrans.h.
References bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_, and bm::tmatrix_restore().
|
inline |
Transpose GAP block through a temp.
block of aligned(!) memory
Definition at line 761 of file bmtrans.h.
References BM_ASSERT, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_, bm::find_effective_columns(), bm::gap_2_bitblock(), bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_columns, bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_rows, and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.
|
inline |
Transpose array of shorts.
Definition at line 782 of file bmtrans.h.
References bm::bit_block_set(), BM_ASSERT, bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_, bm::find_effective_columns(), bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_columns, bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_rows, and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.
|
inline |
Restore GAP block from the transposed matrix.
Definition at line 833 of file bmtrans.h.
References BM_ASSERT, bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_columns, bm::tmatrix< GT, static_cast< unsigned >(sizeof(GT) *8), static_cast< unsigned >(((BLOCK_SIZE *sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT) *8))>::n_rows, and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.
unsigned bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::distance_[tmatrix_type::n_rows][tmatrix_type::n_rows] |
Definition at line 855 of file bmtrans.h.
Referenced by bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::compute_distance_matrix().
unsigned bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_ |
unsigned char bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_[tmatrix_type::n_rows] |
Definition at line 856 of file bmtrans.h.
Referenced by bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::compute_distance_matrix(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::reduce(), and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::restore().
unsigned bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_stat_[bm::ibpc_end] |
Definition at line 857 of file bmtrans.h.
Referenced by bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::compute_distance_matrix().
tmatrix_type::rstat bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::rstat_vector_[tmatrix_type::n_rows] |
tmatrix_type bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_ |
Definition at line 853 of file bmtrans.h.
Referenced by bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::compute_distance_matrix(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::reduce(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::restore(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose(), bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose(), and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore().