bm::gap_transpose_engine< GT, BT, BLOCK_SIZE > Class Template Reference

Bit-plain splicing of a GAP block. More...

#include <bmtrans.h>

Collaboration diagram for bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >:
Collaboration graph
[legend]

Public Types

typedef tmatrix< GT, sizeof(GT)*8,(((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)
 Transpose GAP block through a temp.
void transpose (const GT *BMRESTRICT garr, unsigned garr_size)
 Transpose array of shorts.
void compute_distance_matrix ()
void reduce ()
void restore ()
void trestore (GT gap_head, GT *BMRESTRICT gap_buf)
 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]
GT BM_ALIGN16 tmp_gap_block_[BLOCK_SIZE *2] BM_ALIGN16ATTR

Detailed Description

template<typename GT, typename BT, unsigned BLOCK_SIZE>
class bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >

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)

Definition at line 774 of file bmtrans.h.


Member Typedef Documentation

template<typename GT , typename BT , unsigned BLOCK_SIZE>
typedef tmatrix<GT, sizeof(GT)*8, (((BLOCK_SIZE * sizeof(unsigned)) / (sizeof(GT))) / (sizeof(GT) * 8)) bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_type)

cryptic calculation of equivalent size for the transpose matrix based on BLOCK_SIZE and sizeof(GT)(16)

matrix[size_of_gap*8][(Size_block_in_bytes / size_of_gap) / number_of_planes)]

Definition at line 784 of file bmtrans.h.


Constructor & Destructor Documentation

template<typename GT , typename BT , unsigned BLOCK_SIZE>
bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::gap_transpose_engine (  )  [inline]

Definition at line 786 of file bmtrans.h.


Member Function Documentation

template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::compute_distance_matrix (  )  [inline]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::reduce (  )  [inline]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::restore (  )  [inline]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose ( const GT *BMRESTRICT  garr,
unsigned  garr_size 
) [inline]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose ( const GT *BMRESTRICT  gap_buf  )  [inline]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore ( GT  gap_head,
GT *BMRESTRICT  gap_buf 
) [inline]

Restore GAP block from the transposed matrix.

Definition at line 860 of file bmtrans.h.

References BM_ASSERT, and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.


Field Documentation

template<typename GT , typename BT , unsigned BLOCK_SIZE>
GT BM_ALIGN16 tmp_gap_block_ [BLOCK_SIZE*2] bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::BM_ALIGN16ATTR

Definition at line 885 of file bmtrans.h.

template<typename GT , typename BT , unsigned BLOCK_SIZE>
unsigned bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::distance_[tmatrix_type::n_rows][tmatrix_type::n_rows]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
unsigned bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_
template<typename GT , typename BT , unsigned BLOCK_SIZE>
unsigned char bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_[tmatrix_type::n_rows]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
unsigned bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_stat_[bm::ibpc_end]
template<typename GT , typename BT , unsigned BLOCK_SIZE>
tmatrix_type::rstat bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::rstat_vector_[tmatrix_type::n_rows]

Definition at line 883 of file bmtrans.h.

Referenced by bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::reduce().

template<typename GT , typename BT , unsigned BLOCK_SIZE>
tmatrix_type bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_

The documentation for this class was generated from the following file:

Generated on Sun Apr 25 09:37:46 2010 for BitMagic by  doxygen 1.6.1