1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>BitMagic: bm::gap_transpose_engine< GT, BT, BLOCK_SIZE > Class Template Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.5 -->
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>BitMagic: bm::globals< T > Struct Template Reference</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.6.1 -->
8
11
<div class="navigation" id="top">
11
14
<li><a href="index.html"><span>Main Page</span></a></li>
12
15
<li><a href="modules.html"><span>Modules</span></a></li>
13
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
14
<li class="current"><a href="classes.html"><span>Data Structures</span></a></li>
17
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
15
18
<li><a href="files.html"><span>Files</span></a></li>
16
19
<li><a href="examples.html"><span>Examples</span></a></li>
21
<li><a href="classes.html"><span>Alphabetical List</span></a></li>
22
24
<li><a href="annotated.html"><span>Data Structures</span></a></li>
25
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
23
26
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
24
27
<li><a href="functions.html"><span>Data Fields</span></a></li>
27
<div class="navpath"><a class="el" href="a00106.html">bm</a>::<a class="el" href="a00069.html">gap_transpose_engine</a>
30
<div class="navpath"><a class="el" href="a00110.html">bm</a>::<a class="el" href="a00069.html">globals</a>
30
33
<div class="contents">
31
<h1>bm::gap_transpose_engine< GT, BT, BLOCK_SIZE > Class Template Reference</h1><!-- doxytag: class="bm::gap_transpose_engine" -->Bit-plain splicing of a GAP block.
32
<a href="#_details">More...</a>
34
<code>#include <<a class="el" href="a00138.html">bmtrans.h</a>></code>
34
<h1>bm::globals< T > Struct Template Reference</h1><!-- doxytag: class="bm::globals" -->
35
<p>Internal structure.
36
<a href="#_details">More...</a></p>
38
<p><code>#include <<a class="el" href="a00090_source.html">bmfunc.h</a>></code></p>
39
<div class="dynheader">
40
Collaboration diagram for bm::globals< T >:</div>
41
<div class="dynsection">
42
<div class="center"><img src="a00237.png" border="0" usemap="#bm_1_1globals_3_01T_01_4_coll__map" alt="Collaboration graph"/></div>
43
<map name="bm_1_1globals_3_01T_01_4_coll__map" id="bm_1_1globals_3_01T_01_4_coll__map">
44
<area shape="rect" href="a00041.html" title="bm::globals\< T \>::bo" alt="" coords="5,5,147,35"/></map>
45
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
36
46
<table border="0" cellpadding="0" cellspacing="0">
38
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
39
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00081.html">tmatrix</a>< GT, sizeof(GT)*8,(((BLOCK_SIZE <br>
40
*sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT)*8)) </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#ebedc43b623e92c51d273654aa437dbb">tmatrix_type</a> )</td></tr>
42
<tr><td class="mdescLeft"> </td><td class="mdescRight">cryptic calculation of equivalent size for the transpose matrix based on BLOCK_SIZE and sizeof(GT)(16) <a href="#ebedc43b623e92c51d273654aa437dbb"></a><br></td></tr>
43
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#f5cb0321f7461d6c072dd13ac5b77a3a">gap_transpose_engine</a> ()</td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#a574587865df9a653c25b3b14e52e356">transpose</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)</td></tr>
48
<tr><td class="mdescLeft"> </td><td class="mdescRight">Transpose GAP block through a temp. <a href="#a574587865df9a653c25b3b14e52e356"></a><br></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#5d7e91d9440a38520f180c15bed36250">trestore</a> (GT gap_head, GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)</td></tr>
51
<tr><td class="mdescLeft"> </td><td class="mdescRight">Restore GAP block from the transposed matrix. <a href="#5d7e91d9440a38520f180c15bed36250"></a><br></td></tr>
52
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00069.html#ebedc43b623e92c51d273654aa437dbb">tmatrix_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#78bbc8d39f794aa7587363c237153471">tmatrix_</a></td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#caded7f30ccbc5585749bdb03a441ab0">eff_cols_</a></td></tr>
47
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00041.html">bo</a></td></tr>
49
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00110.html#a577905b348676c2bc556b51793350dbb">ByteOrder</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#a133786f6db9267b0760de9158bee0c36">byte_order</a> ()</td></tr>
51
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00041.html">bo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html#af40c2cad39a7b344ba7d62ff4594669d">_bo</a></td></tr>
58
<hr><a name="_details"></a><h2>Detailed Description</h2>
59
<h3>template<typename GT, typename BT, unsigned BLOCK_SIZE><br>
60
class bm::gap_transpose_engine< GT, BT, BLOCK_SIZE ></h3>
62
Bit-plain splicing of a GAP block.
64
GT - gap word type BT - block word type BLOCK_SIZE - bit block size in words (works as a transposition basis)
65
<p>Definition at line <a class="el" href="a00138.html#l00565">565</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
66
<hr><h2>Member Typedef Documentation</h2>
67
<a class="anchor" name="ebedc43b623e92c51d273654aa437dbb"></a><!-- doxytag: member="bm::gap_transpose_engine::tmatrix_type" ref="ebedc43b623e92c51d273654aa437dbb" args=")" -->
69
<div class="memproto">
70
<div class="memtemplate">
71
template<typename GT, typename BT, unsigned BLOCK_SIZE> </div>
72
<table class="memname">
74
<td class="memname">typedef <a class="el" href="a00081.html">tmatrix</a><GT, sizeof(GT)*8, (((BLOCK_SIZE * sizeof(unsigned)) / (sizeof(GT))) / (sizeof(GT) * 8)) <a class="el" href="a00069.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00069.html#ebedc43b623e92c51d273654aa437dbb">tmatrix_type</a>) </td>
81
cryptic calculation of equivalent size for the transpose matrix based on BLOCK_SIZE and sizeof(GT)(16)
83
matrix[size_of_gap*8][(Size_block_in_bytes / size_of_gap) / number_of_planes)]
84
<p>Definition at line <a class="el" href="a00138.html#l00575">575</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
88
<hr><h2>Constructor & Destructor Documentation</h2>
89
<a class="anchor" name="f5cb0321f7461d6c072dd13ac5b77a3a"></a><!-- doxytag: member="bm::gap_transpose_engine::gap_transpose_engine" ref="f5cb0321f7461d6c072dd13ac5b77a3a" args="()" -->
91
<div class="memproto">
92
<div class="memtemplate">
93
template<typename GT, typename BT, unsigned BLOCK_SIZE> </div>
94
<table class="memname">
96
<td class="memname"><a class="el" href="a00069.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00069.html">gap_transpose_engine</a> </td>
54
<hr/><a name="_details"></a><h2>Detailed Description</h2>
55
<h3>template<bool T><br/>
56
struct bm::globals< T ></h3>
58
<p>Internal structure. </p>
59
<p>Different global settings. </p>
61
<p>Definition at line <a class="el" href="a00090_source.html#l00372">372</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
62
<hr/><h2>Member Function Documentation</h2>
63
<a class="anchor" id="a133786f6db9267b0760de9158bee0c36"></a><!-- doxytag: member="bm::globals::byte_order" ref="a133786f6db9267b0760de9158bee0c36" args="()" -->
65
<div class="memproto">
66
<div class="memtemplate">
67
template<bool T> </div>
68
<table class="memname">
70
<td class="memname">static <a class="el" href="a00110.html#a577905b348676c2bc556b51793350dbb">ByteOrder</a> <a class="el" href="a00069.html">bm::globals</a>< T >::byte_order </td>
98
<td class="paramname"> </td>
72
<td class="paramname"></td>
99
73
<td> ) </td>
100
<td width="100%"><code> [inline]</code></td>
108
<p>Definition at line <a class="el" href="a00138.html#l00577">577</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
112
<hr><h2>Member Function Documentation</h2>
113
<a class="anchor" name="a574587865df9a653c25b3b14e52e356"></a><!-- doxytag: member="bm::gap_transpose_engine::transpose" ref="a574587865df9a653c25b3b14e52e356" args="(const GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)" -->
114
<div class="memitem">
115
<div class="memproto">
116
<div class="memtemplate">
117
template<typename GT, typename BT, unsigned BLOCK_SIZE> </div>
118
<table class="memname">
120
<td class="memname">void <a class="el" href="a00069.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::transpose </td>
122
<td class="paramtype">const GT *BMRESTRICT </td>
123
<td class="paramname"> <em>gap_buf</em>, </td>
126
<td class="paramkey"></td>
128
<td class="paramtype">BT *BMRESTRICT </td>
129
<td class="paramname"> <em>tmp_block</em></td><td> </td>
134
<td></td><td></td><td width="100%"><code> [inline]</code></td>
141
Transpose GAP block through a temp.
143
block of aligned(!) memory
144
<p>Definition at line <a class="el" href="a00138.html#l00582">582</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
146
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, <a class="el" href="a00138.html#l00630">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_</a>, <a class="el" href="a00138.html#l00537">bm::find_effective_columns()</a>, <a class="el" href="a00138.html#l00515">bm::gap_2_bitblock()</a>, and <a class="el" href="a00138.html#l00629">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_</a>.</p>
150
<a class="anchor" name="5d7e91d9440a38520f180c15bed36250"></a><!-- doxytag: member="bm::gap_transpose_engine::trestore" ref="5d7e91d9440a38520f180c15bed36250" args="(GT gap_head, GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)" -->
151
<div class="memitem">
152
<div class="memproto">
153
<div class="memtemplate">
154
template<typename GT, typename BT, unsigned BLOCK_SIZE> </div>
155
<table class="memname">
157
<td class="memname">void <a class="el" href="a00069.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::trestore </td>
159
<td class="paramtype">GT </td>
160
<td class="paramname"> <em>gap_head</em>, </td>
163
<td class="paramkey"></td>
165
<td class="paramtype">GT *BMRESTRICT </td>
166
<td class="paramname"> <em>gap_buf</em>, </td>
169
<td class="paramkey"></td>
171
<td class="paramtype">BT *BMRESTRICT </td>
172
<td class="paramname"> <em>tmp_block</em></td><td> </td>
177
<td></td><td></td><td width="100%"><code> [inline]</code></td>
184
Restore GAP block from the transposed matrix.
187
<p>Definition at line <a class="el" href="a00138.html#l00606">606</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
189
<p>References <a class="el" href="a00133.html#l00041">BM_ASSERT</a>, and <a class="el" href="a00138.html#l00629">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_</a>.</p>
193
<hr><h2>Field Documentation</h2>
194
<a class="anchor" name="78bbc8d39f794aa7587363c237153471"></a><!-- doxytag: member="bm::gap_transpose_engine::tmatrix_" ref="78bbc8d39f794aa7587363c237153471" args="" -->
195
<div class="memitem">
196
<div class="memproto">
197
<div class="memtemplate">
198
template<typename GT, typename BT, unsigned BLOCK_SIZE> </div>
199
<table class="memname">
201
<td class="memname"><a class="el" href="a00069.html#ebedc43b623e92c51d273654aa437dbb">tmatrix_type</a> <a class="el" href="a00069.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00069.html#78bbc8d39f794aa7587363c237153471">tmatrix_</a> </td>
209
<p>Definition at line <a class="el" href="a00138.html#l00629">629</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
211
<p>Referenced by <a class="el" href="a00138.html#l00582">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>, and <a class="el" href="a00138.html#l00606">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore()</a>.</p>
215
<a class="anchor" name="caded7f30ccbc5585749bdb03a441ab0"></a><!-- doxytag: member="bm::gap_transpose_engine::eff_cols_" ref="caded7f30ccbc5585749bdb03a441ab0" args="" -->
216
<div class="memitem">
217
<div class="memproto">
218
<div class="memtemplate">
219
template<typename GT, typename BT, unsigned BLOCK_SIZE> </div>
220
<table class="memname">
222
<td class="memname">unsigned <a class="el" href="a00069.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00069.html#caded7f30ccbc5585749bdb03a441ab0">eff_cols_</a> </td>
230
<p>Definition at line <a class="el" href="a00138.html#l00630">630</a> of file <a class="el" href="a00138.html">bmtrans.h</a>.</p>
232
<p>Referenced by <a class="el" href="a00138.html#l00582">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>.</p>
236
<hr>The documentation for this class was generated from the following file:<ul>
237
<li><a class="el" href="a00138.html">bmtrans.h</a></ul>
239
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:17:29 2009 for BitMagic by
74
<td><code> [inline, static]</code></td>
80
<p>Definition at line <a class="el" href="a00090_source.html#l00406">406</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
82
<p>References <a class="el" href="a00090_source.html#l00404">bm::globals< T >::_bo</a>, and <a class="el" href="a00090_source.html#l00376">bm::globals< T >::bo::_byte_order</a>.</p>
84
<p>Referenced by <a class="el" href="a00092_source.html#l01090">bm::deserialize()</a>.</p>
88
<hr/><h2>Field Documentation</h2>
89
<a class="anchor" id="af40c2cad39a7b344ba7d62ff4594669d"></a><!-- doxytag: member="bm::globals::_bo" ref="af40c2cad39a7b344ba7d62ff4594669d" args="" -->
91
<div class="memproto">
92
<div class="memtemplate">
93
template<bool T> </div>
94
<table class="memname">
96
<td class="memname"><a class="el" href="a00069.html">globals</a>< T >::<a class="el" href="a00041.html">bo</a> <a class="el" href="a00069.html">bm::globals</a>< T >::<a class="el" href="a00069.html#af40c2cad39a7b344ba7d62ff4594669d">_bo</a><code> [inline, static]</code></td>
102
<p>Definition at line <a class="el" href="a00090_source.html#l00404">404</a> of file <a class="el" href="a00090_source.html">bmfunc.h</a>.</p>
104
<p>Referenced by <a class="el" href="a00090_source.html#l00406">bm::globals< T >::byte_order()</a>.</p>
108
<hr/>The documentation for this struct was generated from the following file:<ul>
109
<li><a class="el" href="a00090_source.html">bmfunc.h</a></li>
112
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:46 2009 for BitMagic by
240
113
<a href="http://www.doxygen.org/index.html">
241
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
114
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>