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_len_table_min< T > Struct 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::gap_transpose_engine< GT, BT, BLOCK_SIZE > Class 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="a00068.html">gap_len_table_min</a>
30
<div class="navpath"><a class="el" href="a00110.html">bm</a>::<a class="el" href="a00068.html">gap_transpose_engine</a>
30
33
<div class="contents">
31
<h1>bm::gap_len_table_min< T > Struct Template Reference<br>
33
[<a class="el" href="a00110.html">GAP functions</a>]</small>
34
</h1><!-- doxytag: class="bm::gap_len_table_min" -->Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets.
35
<a href="#_details">More...</a>
37
<code>#include <<a class="el" href="a00134.html">bmfunc.h</a>></code>
34
<h1>bm::gap_transpose_engine< GT, BT, BLOCK_SIZE > Class Template Reference</h1><!-- doxytag: class="bm::gap_transpose_engine" -->
35
<p>Bit-plain splicing of a GAP block.
36
<a href="#_details">More...</a></p>
38
<p><code>#include <<a class="el" href="a00096_source.html">bmtrans.h</a>></code></p>
39
39
<table border="0" cellpadding="0" cellspacing="0">
41
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
42
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#7049262dea6250b11522da8e8359eefc">_len</a> [<a class="el" href="a00106.html#773e9f5341919d58000bd54d50038733">bm::gap_levels</a>]</td></tr>
40
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="a00083.html">tmatrix</a>< GT, sizeof(GT)*8,(((BLOCK_SIZE <br class="typebreak"/>
42
*sizeof(unsigned))/(sizeof(GT)))/(sizeof(GT)*8)) </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#aebedc43b623e92c51d273654aa437dbb">tmatrix_type</a> )</td></tr>
43
<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="#aebedc43b623e92c51d273654aa437dbb"></a><br/></td></tr>
44
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#af5cb0321f7461d6c072dd13ac5b77a3a">gap_transpose_engine</a> ()</td></tr>
46
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#aa574587865df9a653c25b3b14e52e356">transpose</a> (const GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)</td></tr>
47
<tr><td class="mdescLeft"> </td><td class="mdescRight">Transpose GAP block through a temp. <a href="#aa574587865df9a653c25b3b14e52e356"></a><br/></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#a5d7e91d9440a38520f180c15bed36250">trestore</a> (GT gap_head, GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)</td></tr>
49
<tr><td class="mdescLeft"> </td><td class="mdescRight">Restore GAP block from the transposed matrix. <a href="#a5d7e91d9440a38520f180c15bed36250"></a><br/></td></tr>
50
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00068.html#aebedc43b623e92c51d273654aa437dbb">tmatrix_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#a78bbc8d39f794aa7587363c237153471">tmatrix_</a></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html#acaded7f30ccbc5585749bdb03a441ab0">eff_cols_</a></td></tr>
45
<hr><a name="_details"></a><h2>Detailed Description</h2>
46
<h3>template<bool T><br>
47
struct bm::gap_len_table_min< T ></h3>
49
Alternative GAP lengths table. Good for for memory saver mode and very sparse bitsets. <dl compact><dt><b>Examples: </b></dt><dd>
52
<a class="el" href="a00007.html#_a10">sample7.cpp</a>.</dl>
53
<p>Definition at line <a class="el" href="a00134.html#l00115">115</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
54
<hr><h2>Field Documentation</h2>
55
<a class="anchor" name="7049262dea6250b11522da8e8359eefc"></a><!-- doxytag: member="bm::gap_len_table_min::_len" ref="7049262dea6250b11522da8e8359eefc" args="[bm::gap_levels]" -->
57
<div class="memproto">
58
<div class="memtemplate">
59
template<bool T> </div>
60
<table class="memname">
62
<td class="memname">const <a class="el" href="a00106.html#c654d6319039a86546d235a236fc7cf6">gap_word_t</a> <a class="el" href="a00068.html">bm::gap_len_table_min</a>< T >::<a class="el" href="a00068.html#7049262dea6250b11522da8e8359eefc">_len</a><code> [inline, static]</code> </td>
69
<b>Initial value:</b><div class="fragment"><pre class="fragment">
72
<p>Definition at line <a class="el" href="a00134.html#l00117">117</a> of file <a class="el" href="a00134.html">bmfunc.h</a>.</p>
76
<hr>The documentation for this struct was generated from the following file:<ul>
77
<li><a class="el" href="a00134.html">bmfunc.h</a></ul>
79
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Oct 12 12:17:23 2009 for BitMagic by
54
<hr/><a name="_details"></a><h2>Detailed Description</h2>
55
<h3>template<typename GT, typename BT, unsigned BLOCK_SIZE><br/>
56
class bm::gap_transpose_engine< GT, BT, BLOCK_SIZE ></h3>
58
<p>Bit-plain splicing of a GAP block. </p>
59
<p>GT - gap word type BT - block word type BLOCK_SIZE - bit block size in words (works as a transposition basis) </p>
61
<p>Definition at line <a class="el" href="a00096_source.html#l00585">585</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
62
<hr/><h2>Member Typedef Documentation</h2>
63
<a class="anchor" id="aebedc43b623e92c51d273654aa437dbb"></a><!-- doxytag: member="bm::gap_transpose_engine::tmatrix_type" ref="aebedc43b623e92c51d273654aa437dbb" args=")" -->
65
<div class="memproto">
66
<div class="memtemplate">
67
template<typename GT , typename BT , unsigned BLOCK_SIZE> </div>
68
<table class="memname">
70
<td class="memname">typedef <a class="el" href="a00083.html">tmatrix</a><GT, sizeof(GT)*8, (((BLOCK_SIZE * sizeof(unsigned)) / (sizeof(GT))) / (sizeof(GT) * 8)) <a class="el" href="a00068.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00068.html#aebedc43b623e92c51d273654aa437dbb">tmatrix_type</a>)</td>
76
<p>cryptic calculation of equivalent size for the transpose matrix based on BLOCK_SIZE and sizeof(GT)(16) </p>
77
<p>matrix[size_of_gap*8][(Size_block_in_bytes / size_of_gap) / number_of_planes)] </p>
79
<p>Definition at line <a class="el" href="a00096_source.html#l00595">595</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
83
<hr/><h2>Constructor & Destructor Documentation</h2>
84
<a class="anchor" id="af5cb0321f7461d6c072dd13ac5b77a3a"></a><!-- doxytag: member="bm::gap_transpose_engine::gap_transpose_engine" ref="af5cb0321f7461d6c072dd13ac5b77a3a" args="()" -->
86
<div class="memproto">
87
<div class="memtemplate">
88
template<typename GT , typename BT , unsigned BLOCK_SIZE> </div>
89
<table class="memname">
91
<td class="memname"><a class="el" href="a00068.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00068.html">gap_transpose_engine</a> </td>
93
<td class="paramname"></td>
94
<td> ) </td>
95
<td><code> [inline]</code></td>
101
<p>Definition at line <a class="el" href="a00096_source.html#l00597">597</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
105
<hr/><h2>Member Function Documentation</h2>
106
<a class="anchor" id="aa574587865df9a653c25b3b14e52e356"></a><!-- doxytag: member="bm::gap_transpose_engine::transpose" ref="aa574587865df9a653c25b3b14e52e356" args="(const GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)" -->
107
<div class="memitem">
108
<div class="memproto">
109
<div class="memtemplate">
110
template<typename GT , typename BT , unsigned BLOCK_SIZE> </div>
111
<table class="memname">
113
<td class="memname">void <a class="el" href="a00068.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::transpose </td>
115
<td class="paramtype">const GT *BMRESTRICT </td>
116
<td class="paramname"> <em>gap_buf</em>, </td>
119
<td class="paramkey"></td>
121
<td class="paramtype">BT *BMRESTRICT </td>
122
<td class="paramname"> <em>tmp_block</em></td><td> </td>
127
<td></td><td></td><td><code> [inline]</code></td>
133
<p>Transpose GAP block through a temp. </p>
134
<p>block of aligned(!) memory </p>
136
<p>Definition at line <a class="el" href="a00096_source.html#l00602">602</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
138
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, <a class="el" href="a00096_source.html#l00650">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::eff_cols_</a>, <a class="el" href="a00096_source.html#l00557">bm::find_effective_columns()</a>, <a class="el" href="a00096_source.html#l00535">bm::gap_2_bitblock()</a>, and <a class="el" href="a00096_source.html#l00649">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_</a>.</p>
142
<a class="anchor" id="a5d7e91d9440a38520f180c15bed36250"></a><!-- doxytag: member="bm::gap_transpose_engine::trestore" ref="a5d7e91d9440a38520f180c15bed36250" args="(GT gap_head, GT *BMRESTRICT gap_buf, BT *BMRESTRICT tmp_block)" -->
143
<div class="memitem">
144
<div class="memproto">
145
<div class="memtemplate">
146
template<typename GT , typename BT , unsigned BLOCK_SIZE> </div>
147
<table class="memname">
149
<td class="memname">void <a class="el" href="a00068.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::trestore </td>
151
<td class="paramtype">GT </td>
152
<td class="paramname"> <em>gap_head</em>, </td>
155
<td class="paramkey"></td>
157
<td class="paramtype">GT *BMRESTRICT </td>
158
<td class="paramname"> <em>gap_buf</em>, </td>
161
<td class="paramkey"></td>
163
<td class="paramtype">BT *BMRESTRICT </td>
164
<td class="paramname"> <em>tmp_block</em></td><td> </td>
169
<td></td><td></td><td><code> [inline]</code></td>
175
<p>Restore GAP block from the transposed matrix. </p>
177
<p>Definition at line <a class="el" href="a00096_source.html#l00626">626</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
179
<p>References <a class="el" href="a00089_source.html#l00047">BM_ASSERT</a>, and <a class="el" href="a00096_source.html#l00649">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::tmatrix_</a>.</p>
183
<hr/><h2>Field Documentation</h2>
184
<a class="anchor" id="acaded7f30ccbc5585749bdb03a441ab0"></a><!-- doxytag: member="bm::gap_transpose_engine::eff_cols_" ref="acaded7f30ccbc5585749bdb03a441ab0" args="" -->
185
<div class="memitem">
186
<div class="memproto">
187
<div class="memtemplate">
188
template<typename GT , typename BT , unsigned BLOCK_SIZE> </div>
189
<table class="memname">
191
<td class="memname">unsigned <a class="el" href="a00068.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00068.html#acaded7f30ccbc5585749bdb03a441ab0">eff_cols_</a></td>
197
<p>Definition at line <a class="el" href="a00096_source.html#l00650">650</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
199
<p>Referenced by <a class="el" href="a00096_source.html#l00602">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>.</p>
203
<a class="anchor" id="a78bbc8d39f794aa7587363c237153471"></a><!-- doxytag: member="bm::gap_transpose_engine::tmatrix_" ref="a78bbc8d39f794aa7587363c237153471" args="" -->
204
<div class="memitem">
205
<div class="memproto">
206
<div class="memtemplate">
207
template<typename GT , typename BT , unsigned BLOCK_SIZE> </div>
208
<table class="memname">
210
<td class="memname"><a class="el" href="a00068.html#aebedc43b623e92c51d273654aa437dbb">tmatrix_type</a> <a class="el" href="a00068.html">bm::gap_transpose_engine</a>< GT, BT, BLOCK_SIZE >::<a class="el" href="a00068.html#a78bbc8d39f794aa7587363c237153471">tmatrix_</a></td>
216
<p>Definition at line <a class="el" href="a00096_source.html#l00649">649</a> of file <a class="el" href="a00096_source.html">bmtrans.h</a>.</p>
218
<p>Referenced by <a class="el" href="a00096_source.html#l00602">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::transpose()</a>, and <a class="el" href="a00096_source.html#l00626">bm::gap_transpose_engine< GT, BT, BLOCK_SIZE >::trestore()</a>.</p>
222
<hr/>The documentation for this class was generated from the following file:<ul>
223
<li><a class="el" href="a00096_source.html">bmtrans.h</a></li>
226
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 22 10:49:48 2009 for BitMagic by
80
227
<a href="http://www.doxygen.org/index.html">
81
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
228
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>