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

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

#include <vs10/bm/bmtrans.h>

Collaboration diagram for bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >:

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)
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.
 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.

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.

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 >::transpose ( const GT *BMRESTRICT  gap_buf) [inline]

Transpose GAP block through a temp.

block of aligned(!) memory

Definition at line 791 of file bmtrans.h.

References bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_, bm::find_effective_columns(), bm::gap_2_bitblock(), and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.

template<typename GT , typename BT , unsigned BLOCK_SIZE>
void bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose ( const GT *BMRESTRICT  gap_buf) [inline]

Transpose GAP block through a temp.

block of aligned(!) memory

Definition at line 791 of file bmtrans.h.

References bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_, bm::find_effective_columns(), bm::gap_2_bitblock(), and bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.

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  garr,
unsigned  garr_size 
) [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::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_.

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::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_
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 bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::pc_vector_stat_
template<typename GT , typename BT , unsigned BLOCK_SIZE>
tmatrix_type::rstat bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::rstat_vector_

Definition at line 883 of file bmtrans.h.

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


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